-
建議在以下情況下使用觀察者模式 (1)當(dāng)一個(gè)抽象模型有兩個(gè)方面,其中一個(gè)方面的操作依賴于另一個(gè)方面的狀態(tài)變化 (2)如果在更改一個(gè)對象的時(shí)候,需要同時(shí)連帶改變其他的對象,而且不知道究竟應(yīng)該 有多少對象需要被連帶改變 (3) 當(dāng)一個(gè)對象必須通知其他的對象,但是你又希望這個(gè)對象和其他的被通知的對象是松散耦合的查看全部
-
觀察者模式的缺點(diǎn): (1)可能會(huì)引起無謂的操作查看全部
-
觀察者模式的優(yōu)點(diǎn): (1)觀察者模式實(shí)現(xiàn)了觀察者和目標(biāo)之間的抽象耦合 (2)觀察者模式實(shí)現(xiàn)了動(dòng)態(tài)聯(lián)動(dòng) (2)觀察者模式支持廣播通信查看全部
-
比較 推模型是假定目標(biāo)對象知道觀察著需要的數(shù)據(jù) 拉模型是目標(biāo)對象不知道觀察著具體需要什么數(shù)據(jù),因此把自身傳給觀察者,由觀察者來取值查看全部
-
觀察者模式兩種模式 1.推模型:目標(biāo)對象主動(dòng)向觀察者推送目標(biāo)的詳細(xì)信息 ; 推送的信息通常是目標(biāo)信息的全部或部分信息 2.拉模型:目標(biāo)對象在通知觀察者的時(shí)候,只傳遞少量信息 ;如果觀察者需要更具體的信息,由觀察者主動(dòng)到目標(biāo)對象中獲取,相當(dāng)于是觀察者從目標(biāo)對象中拉數(shù)據(jù);一般這種模型的實(shí)現(xiàn)中,會(huì)把目標(biāo)對象自身通過update方法傳遞給觀察者。查看全部
-
運(yùn)行階段查看全部
-
將subject強(qiáng)轉(zhuǎn)為ConcreteSubject,并調(diào)用它的getSubjectState()方法。//將一個(gè)父類強(qiáng)轉(zhuǎn)為一個(gè)子類查看全部
-
update傳入的參數(shù)是目標(biāo)對象:方便獲取相應(yīng)的目標(biāo)對象的狀態(tài)查看全部
-
目標(biāo)的具體狀態(tài):負(fù)責(zé)把有關(guān)的狀態(tài)存入到相應(yīng)的觀察者對象中。。為什么要有這個(gè)類啊查看全部
-
觀察者Subject類:用一個(gè)集合來保存Observer,包含添加 刪除 和通知三個(gè)方法查看全部
-
觀察者模式的結(jié)構(gòu)查看全部
-
觀察者模式的定義:定義對象見的一種一對多的依賴關(guān)系。當(dāng)一個(gè)對象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對象都得到通知并自動(dòng)更新。。/////自動(dòng)更新查看全部
-
觀察者模式:定義對象件的一種一對多的依賴關(guān)系,當(dāng)一個(gè)對象的狀態(tài)發(fā)生改變時(shí),所有依賴它的對象都會(huì)得到通知并且自動(dòng)更新,查看全部
-
應(yīng)用場景查看全部
-
觸發(fā)聯(lián)動(dòng)--觀察者模式的本質(zhì)查看全部
舉報(bào)
0/150
提交
取消