Android架構進階(二)——面向對象設計原則與23種設計模式
近期在封裝架構的時候,總覺得有些東西直接用顯得不夠高端,所以縱向適度封裝一下,這個時候我就想到了使用設計模式去封裝,但是總覺得怕自己掌握的設計模式不夠精髓,所以重新學習一下
面向對象7個基本原則
- 單一職責原則:每個類應該專注於做一件事兒。可以降低複雜度,提高可讀性,降低變更風險
- 里氏替換原則:超累存在的地方,可以用子類進行替換。基類定義,子類實現,子類對象替換父類對象(Java 的多態特性就遵循這個原則)
- 依賴倒置原則:實現儘量依賴抽象,不依賴具體實現。可以減少類之間的耦合,提高系統穩定性,減少並行引發的風險。
- 接口隔離原則:儘可能提供小的單獨的接口,而不是大的總的接口。暴露的行爲讓後面的實現類知道的越少越好
- 最少知識原則:迪米特法則,一個實體應儘量少於其他實體相互作用。不是直接耦合的類,最好不要出現在其它類的內部作爲局部變量
- 開放關閉原則:面向擴展開放,面向修改關閉。封裝——是實現開閉原則的最重要的手段
- 聚合複用原則:如果非必要儘量少用繼承,使用類中有其他類的對象的方式實現功能傳遞。複用功能時,首先考慮組合複用,其次才考慮繼承
23種設計模式
1、創建型模式:抽象工廠,工廠方法,原型模式,單例模式,建造者模式。
2、結構型模式:適配器模式,橋接模式,組合模式,裝飾者模式,外觀模式,享元模式,代理模式
3、行爲型模式:觀察者模式,責任鏈模式,中介者模式,解釋器模式,訪問者模式,迭代器模式,備忘錄模式,策略模式,命令模式,狀態模式,模板方法模式。
創建型模式
此類模式一般用於創建對象
- 工廠方法模式:
- 抽象工廠模式:
- 原型模式:
- 單例模式:
- 建造者模式:
結構型模式
此類型一般在我們設計架構結構時使用
- 適配器模式:
- 橋街模式:
- 組合模式:
- 裝飾者模式:
- 外觀模式:
- 享元模式:
- 代理模式:
行爲型模式
此類型模式一般用於處理或監聽用戶行爲
- 觀察者模式:
- 責任鏈模式:
- 中介者模式:
- 解釋器模式:
- 訪問者模式:
- 迭代器模式:
- 備忘錄模式:
- 策略模式:
- 命令模式:
- 狀態模式:
- 模板方法模式: