-
準備階段調用次序圖查看全部
-
觀察者模式類圖查看全部
-
觀察者模式定義查看全部
-
認識觀察者模式查看全部
-
區別對待觀察者模式中,目標父類不實現通知方法,在子類中實現有區別的通知方法。查看全部
-
觸發聯動:當修改目標狀態時就會觸發相應的通知,然后會循環調用所有注冊的觀察者對象的相應方法。<br> 何時使用觀察者模式呢? ①當一個抽象模型有兩個方面,其中一個方面的操作依賴于另外一個方面的狀態的變化。 ②如果更改一個對象的時候,需要同時連帶更改其他對象,而且不知道究竟有多少對象要被連帶改變。 ③當一個對象必須通知其他對象,但是又不希望這個對象和其他被通知的對象是松散耦合的,也就是說這個對象不想知道具體被通知的對象; 以上三種情況可以考慮觀察者模式。查看全部
-
觀察者的有優點:動態聯動查看全部
-
JDK提供的觀察者模式測試流程查看全部
-
將目標對象Observerable進行強制轉換為其子類,才能get到具體屬性信息。查看全部
-
Oberverable 可將其子類化,表示應用程序想要觀察的目標對象,也就是前面一直講到的Subject類。 Oberverable類下的setChanged() 方法,此方法標記Observable對象已經改變。此時可以調用notifyObservers()通知。查看全部
-
觀察者模式兩種模式 1.推模型:目標對象主動向觀察者推送目標的詳細信息 ; 推送的信息通常是目標信息的全部或部分信息 2.拉模型:目標對象在通知觀察者的時候,只傳遞少量信息 ;如果觀察者需要更具體的信息,由觀察者主動到目標對象中獲取,相當于是觀察者從目標對象中拉數據;一般這種模型的實現中,會把目標對象自身通過update方法傳遞給觀察者。 兩種模型的比較: 推模型是假定目標對象知道觀察著需要的數據 拉模型是目標對象不知道觀察著具體需要什么數據,因此把自身傳給觀察者,由觀察者來取值 推模型會使觀察者對象難于復用。 拉模型下,update方法的參數是目標對象本身,基本上可以適應于各種情況的需要。查看全部
-
觀察者模式用例圖:運行階段查看全部
-
觀察者模式用例圖:準備階段查看全部
-
觀察者模式又被稱為發布訂閱模式: 命名建議: (1)目標接口的定義,建議在名稱后面跟Subject (2)觀察者接口的定義,建議在名稱后面跟Observer (3)觀察者接口的更新方法,建議名稱為update,參數的個數及類型不受限制 觸發通知的時機:目標對象的狀態發生維護之后觸發。查看全部
-
統一通知,各自處理。查看全部
舉報
0/150
提交
取消