目錄
1. 模式說明
- 定義對象間的一種一對多的依賴關係;
- 當1個對象的狀態發生改變時,所有依賴於它的對象都將得到通知 & 自動更新對應操作。
又稱:發佈 / 訂閱模式
2. 解決的問題
常變對象 與不常變對象之間存在依賴關係的前提下,不常變對象 需隨 常變對象經常改變邏輯的問題。即解耦 常變對象 與不常變對象之間的依賴關係
如:常變的
UI
層 與 基本不變的具體業務邏輯
3. 生活例子引入
我用一個生活例子引入 & 講解 觀察者模式的原理: 顧客到飯店喫飯
4. 原理介紹
4.1 UML類圖說明
觀察者模式中有4個角色
注:Java API有內置的觀察者模式類:java.util.Observable 類和 java.util.Observer 接口
對應: Subject 和 Observer 的角色;
4.2 具體原理說明
請結合上述 顧客到飯店喫飯 的生活例子理解:
即可總結爲:被觀察者 (Observable)
通過 訂閱(Subscribe)
按順序發送事件 給觀察者 (Observer)
, 觀察者(Observer)
按順序接收事件 & 作出對應的響應動作。具體如下圖:(類似流水線般流動 & 處理。)
至此,設計模式中的觀察者模式(Observer)講解完畢。
5. 總結
- 本文對觀察者模式(Observer)的進行了全面介紹
- 接下來我會對每種設計模式進行詳細的分析,歡迎關注Carson_Ho的簡書,不定期分享關於安卓開發的乾貨,追求短、平、快,但卻不缺深度。
請點贊!因爲你的鼓勵是我寫作的最大動力!
相關文章閱讀
單例模式(Singleton) - 最易懂的設計模式解析
簡單工廠模式(SimpleFactoryPattern)- 最易懂的設計模式解析
工廠方法模式(Factory Method)- 最易懂的設計模式解析
抽象工廠模式(Abstract Factory)- 最易懂的設計模式解析
策略模式(Strategy Pattern)- 最易懂的設計模式解析
適配器模式(Adapter Pattern)- 最易懂的設計模式解析
代理模式(Proxy Pattern)- 最易懂的設計模式解析
模板方法模式(Template Method) - 最易懂的設計模式解析
建造者模式(Builder Pattern)- 最易懂的設計模式解析
外觀模式(Facade Pattern) - 最易懂的設計模式解析