觀察者模式:既關注的主題發生變化通知觀察者
實現方式:
兩個介面:
1、主題介面
包含新增、刪除觀察者以及通知觀察者更新資料的方法
2、觀察者介面
規定具體觀察者用來更新資料的方法
介面實現:
1、主題介面實現 :
實現主題介面的乙個例項,通常需要使用乙個集合arraylist存放觀察者引用,以便資料變化時通知具體觀察者。
2、觀察者介面實現:
實現觀察者介面的乙個例項,包含主題介面變數,以便讓具體觀察者本身新增到具體主題集合中,成為它的觀察者。
特點:①在觀察者模式中,會改變的是主題的狀態,以及觀察者的數目和型別;
②主題與觀察者都使用介面,觀察者利用主題介面向主題註冊,而主題利用觀察者介面通知觀察者,具有松耦合特點;
③該模式利用組合將許多觀察者組合進主題中,物件之間的關係不是通過繼承產生的,而是在執行時利用組合的方式而產生的。
設計模式之觀察模式
我們使用jdk提供的api來實現乙個觀察者模式,學生向老師提問問題,然後通知老師有學生提問,這個案例裡面,老師屬於觀察者,需要實現observer介面。學生屬於被觀察者,需要繼承observable類。學生發生變化通知老師。public class student extends observabl...
設計模式之觀察者設計模式
事件源 就是被監聽的物件,事件類 裡面封裝了事件源物件,裡面繫結了事件類,在 裡面拿到事件類物件,就可以監聽事件源中的行為 呼叫了什麼方法 public inte ce studentlistenerpublic class student public string getname public ...
觀察這模式的學習
設計模式 觀察者模式 什麼是觀察者模式 定義物件間一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於 它的物件都得到通知自動更新。示例 gui程式設計中的add xlistener都是觀察者模式。觀察者模式的三個重要類 註冊乙個 listener 事件對像 event測試類 初始化事件源 註冊...