基礎

設計模式

1.         Alexander給出的模式經典定義是:每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心,通過這種方式,我們可以無數次地使用那些已有的解決方案,無需再重複相同的工作。

2.         目的:實現高內聚,低耦合

3.         設計模式原則

l  開-閉”原則(Open-Closed Principle, OCP)

Software entities should be open for extension,but closed for modification”,就是說模塊應對擴展開放,而對修改關閉。模塊應儘量在不修改原來的代碼的情況下進行擴展。增加功能時,寧可增加一個新類,也不要修改一個已有的類

l  里氏代換原則(Liskov Substitution Principle, LSP)

Barbara Liskov”提出,如果調用的是父類的話,那麼換成子類也完全可以運行。

l  合成複用原則(Composition/Aggregation Reuse Principle, CARP)

要少用繼承,多用合成關係來實現,能不用繼承儘量不用繼承,因爲繼承會對子類暴露一些信息。

l  依賴倒轉原則(Dependency Inversion Principle, DIP)

抽象不應該依賴於細節,細節應當依賴於抽象。要針對接口編程,而不是針對實現編程。傳遞參數,或者在組合聚合關係中,儘量引用層次高的類。節省大量編碼

l  接口隔離原則(Interface Segregation Principle, ISP)

每一個接口應該是一種角色,不多不少,不幹不該乾的事,該乾的事都要幹

功能單一(高內聚)

l  迪米特法則(Law of Demeter, LoD)

最少知識原則,不要和陌生人說話

模塊要和儘量少的其他模塊發生聯繫(低耦合)

 

常見模式23種:三大類: 創建模式、結構模式、行爲模式

創建模式

創建模式(Creational Pattern)對類的實例化過程進行了抽象。

u  簡單工廠模式(Simple Factory

u  工廠方法模式(Factory Method

u  原型模式(Prototype

u  單例模式(Singleton

u  建造者模式(Builder

 

結構模式

結構模式(Structural Pattern)描述如何將類或者對象結合在一起形成更大的結構。結構模式描述兩種不同的東西:類與類的實例(即對象)。根據這一點,結構模式可以分爲類的結構模式和對象的結構模式

 

u  適配器模式(Adapter

u  橋接模式(Bridge

u  組合模式(Composite

u  裝飾模式(Decorator

u  外觀模式(Facade

u  享元模式(Flyweight

u  代理模式(Proxy

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章