設計模式 Observer pattern

2021-06-02 23:12:55 字數 506 閱讀 1399

出版者+訂閱者=觀察者模式

觀察者模式:定義了物件之間的 一對多依賴,這樣一來,當乙個的物件改變狀態時,它的所有依賴者都會收到通知並自動更新。

觀察者模式適合的場景就是如定義所描述的。

subject主題   介面檔案包括的方法有:

public void registerobserver(observer o);

public void removeobserver(observer o);

public void notifyobservers();

任何具體的主題都去實現這三個方法

observer觀察者  介面檔案包括的方法有:

public void update(float temp,float humidity,float perssure);

每個觀察者都需要在主題中註冊後,再實現update的方法。  當主題的資料發生改變後,會呼叫notifyobervers方法,然後再分別呼叫每個observer的update方法,實現通知。

設計模式觀察者模式 ObserverPatern

核心模組 抽象觀察者,具體觀察者,抽象主題,具體主題 使用場景 乙個物件的改變將導致乙個或多個其他物件也發生改變,適合一對一或者一對多的場景 優點 主題和觀察者之間松耦合 觀察者並不需要知道主題發生了什麼變化 符合opc原則 新增觀察者只需要實現抽象觀察者 支援廣播 一對多 缺點 如果觀察者較多,抽...

設計模式 設計模式

物件導向程式設計 oop 的基本概念有 封裝,抽象,繼承,多型等,如何開發出可復用的物件導向軟體一直困擾著軟體開發人員。可復用的物件導向技術包括類的繼承,物件的組合和引數化型別 generic gof的巨著 設計模式 總結出可復用的物件導向的23個設計模式,並且歸類成 建立型模式,結構型模式和行為型...

設計模式 命令設計模式

一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象command 命令的具體實現concretecommand 命令處理者抽象ireceiver 命令處理者的具體實現concretereceiver 命令的呼叫者invoker 客戶端client...