出版者+訂閱者=觀察者模式
觀察者模式:定義了物件之間的 一對多依賴,這樣一來,當乙個的物件改變狀態時,它的所有依賴者都會收到通知並自動更新。
觀察者模式適合的場景就是如定義所描述的。
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...