前言
今天Carson來全面總結最常用的設計模式 - 觀察者模式(Observer)。
其他設計模式介紹
這是一份全面 & 詳細的設計模式學習指南
Carson帶你學設計模式:單例模式(Singleton)
Carson帶你學設計模式:簡單工廠模式(SimpleFactoryPattern)
Carson帶你學設計模式:工廠方法模式(Factory Method)
Carson帶你學設計模式:抽象工廠模式(Abstract Factory)
Carson帶你學設計模式:策略模式(Strategy Pattern)
Carson帶你學設計模式:適配器模式(Adapter Pattern)
Carson帶你學設計模式:靜態代理模式(Proxy Pattern)
Carson帶你學設計模式:動態代理模式(Proxy Pattern)
Carson帶你學設計模式:模板方法模式(Template Method)
Carson帶你學設計模式:建造者模式(Builder Pattern)
Carson帶你學設計模式:外觀模式(Facade Pattern)
Carson帶你學設計模式:觀察者模式(Observer)
目錄
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的簡書,不定期分享關于安卓開發的干貨,追求短、平、快,但卻不缺深度。
請點贊!因為你的鼓勵是我寫作的最大動力!
相關文章閱讀
這是一份全面 & 詳細的設計模式學習指南
Carson帶你學設計模式:單例模式(Singleton)
Carson帶你學設計模式:簡單工廠模式(SimpleFactoryPattern)
Carson帶你學設計模式:工廠方法模式(Factory Method)
Carson帶你學設計模式:抽象工廠模式(Abstract Factory)
Carson帶你學設計模式:策略模式(Strategy Pattern)
Carson帶你學設計模式:適配器模式(Adapter Pattern)
Carson帶你學設計模式:靜態代理模式(Proxy Pattern)
Carson帶你學設計模式:動態代理模式(Proxy Pattern)
Carson帶你學設計模式:模板方法模式(Template Method)
Carson帶你學設計模式:建造者模式(Builder Pattern)
Carson帶你學設計模式:外觀模式(Facade Pattern)
Carson帶你學設計模式:觀察者模式(Observer)