天天看點

設計模式--六大原則

可擴充性,比較容易添加新的功能;

靈活性,容易添加新的功能代碼修改平穩地發生;

可插入性,容易将一個類處出來,同時接入另一個同樣接口的類。

耦合性:子產品之間的關系緊密程度。越緊密,耦合性越強,子產品獨立性越差,取決于子產品間接口的複雜性,調用的方式,傳遞的資訊;

内聚性:子產品内部關系緊密為高内聚;

高内聚:單一子產品内部相關性較強,隻負責單獨任務,不可分割;

低耦合:盡可能多子產品之間獨立性較強。

1,單一職責原則(Single-Responsibility Principle):一個類隻處理一個職責,也就是說不要将很多東西都放在一個類裡面,盡可能拆分處理,讓每個類隻負責某一部分的功能。

2,裡氏置換原則(Liskov Substitution Principle):Base類及其內建類的關系,子類除了新增盡可能不去重寫和重載父類的方法,也就是說不要破壞父類的功能,通過不同的實作子類來進行擴充,并避免對父類進行修改。

3,依賴倒置原則(Dependence Inversion Principle):說的是接口,抽象類及其實作類之間的關系,也就是說接口,抽象類不負責具體邏輯,具體邏輯交給繼承或者實作類去處理,實作類依賴于接口和抽象類,而抽象類不依賴于實作類,減少對具體實作的耦合,通過抽象類或者接口實作解耦合。

網上具體講解的執行個體:http://www.cnblogs.com/lzh_527/archive/2012/02/15/2352939.html

4,接口隔離原則(Interface Segregation Principle):也就是說盡可能避免一個類和接口裡面多個方法之間的關系,将接口合理細化,但不要過度細化。

5,迪米特原則(Law of Demeter):減少類與類之間的耦合。

6,開閉原則(open-Closed Principle):對修改關閉,對擴充開放,也就是說在業務疊代過程中,不應該去修改原有的業務邏輯,而應該通過繼承來在原來的基礎上進行擴充,而不對原有邏輯進行修改,當然原有邏輯是錯的不包括在内。

繼續閱讀