-
模式的秘密---觀察者模式——利用Java提供的觀察者實現 Java 實現 VS 自己實現的對比四點: (1)不需要再定義觀察者和目標接口(JDK已經定義)。 (2)具體的目標實現里面不需要再維護觀察者的注冊信息,Java中的Observable類里面已經實現。 (3)觸發通知的方式有一點變化,要先調用setChanged方法,這個是Java為了幫助實現更精確的觸發控制而提供的功能。 (4)具體觀察者的實現里面,update方法其實能同時支持推模型和拉模型,這個Java在定義的時候,已經考慮。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
模式的秘密---觀察者模式——實現的兩種方式:推模型和拉模型 觀察者模式兩種模式: 1.推模型:目標對象主動向觀察者推送目標的詳細信息 ; 推送的信息通常是目標信息的全部或部分信息。 2.拉模型:目標對象在通知觀察者的時候,只傳遞少量信息 ;如果觀察者需要更具體的信息,由觀察者主動到目標對象中獲取,相當于是觀察者從目標對象中拉數據;一般這種模型的實現中,會把目標對象自身通過update方法傳遞給觀察者。 兩種模型的比較: 推模型是假定目標對象知道觀察著需要的數據。 拉模型是目標對象不知道觀察著具體需要什么數據,因此把自身傳給觀察者,由觀察者來取值。 推模型會使觀察者對象難于復用。 拉模型下,update方法的參數是目標對象本身,基本上可以適應于各種情況的需要。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
模式的秘密---觀察者模式——觀察者模式調用時序圖 II(運行階段) 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
模式的秘密---觀察者模式——觀察者模式調用時序圖 I(準備階段) 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
模式的秘密---觀察者模式——認識觀察者模式 (1)目標與觀察者之間的關系:一對一、一對多、多對一等。 (2)單向依賴:觀察者依賴目標,而不是目標依賴觀察者,觀察者是被動的,目標是主動的。 (3)命名建議: 1、目標接口的定義,建議在名稱后面跟Subject; 2、觀察者接口的定義,建議在名稱后面跟Observer; 3、觀察者接口的更新方法,建議名稱為update,參數的個數及類型不受限制。 (4)觸發通知的時機:目標對象的狀態發生維護之后觸發。(比如:先賦值內容再通知是對的,而反過來就會出現問題) (5)觀察者模式調用時序:見觀察者模式調用時序圖I、II。 (6)通知的順序:不確定,平行的,沒有相互依賴關系。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
模式的秘密---觀察者模式——觀察者模式結構 II Ps:下面兩個分別是它們上面兩個對應的接口實現類。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
模式的秘密---觀察者模式——觀察者模式結構 I 觀察者模式的結構:Subject(被觀察者或者說是目標類):要有添加觀察者,刪除觀察者,和提醒觀察者(當被觀察者的狀態發生改變的時候調用這個方法)的方法,Observe(觀察者):要有更新方法(當觀察者狀態發生改變調用提醒方法后觀察者通過更新方法來做出不同響應(動作))。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
模式的秘密---觀察者模式——定義 觀察者模式的定義,有多個對象在關注著一個對象,如果這個對象的狀態發生了改變,其它依賴(關注)它的對象就會收到通知,然后在接收到通知以后各個對象做出相應的動作。這里涉及到兩個概念(觀察者和被觀察者(目標類)),被觀察者只能有一個,而觀察這個觀察者的對象可以用多個?!疽粚Χ唷? 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
什么情況下選用觀察者模式查看全部
-
觀察者模式的本質查看全部
-
啦模型查看全部
-
推模型會使觀察者對象難以復用查看全部
-
推模型和拉模型的比較查看全部
-
拉模型查看全部
-
推模型查看全部
舉報
0/150
提交
取消