設計模式的原則

一、開閉原則(Open Close Principle)編程

開閉原則的意思是:對擴展開放,對修改封閉。在程序須要進行擴展的時候,不能去修改或影響原有的代碼,實現一個熱插拔的效果。簡言之,是爲了使程序的擴展性更好,易於維護和升級。想要達到這樣的效果,咱們須要使用接口和抽象類。設計模式

二、里氏代換原則(Liskov Substitution Principle)架構

里氏代換原則是面向對象設計的基本原則之一。 里氏代換原則中說,任何基類能夠出現的地方,子類必定能夠出現。里氏代換原則是繼承複用的基石,只有當子類能夠替換掉基類,且軟件單位的功能不受到影響時,基類才能真正被複用,並且子類也可以在基類的基礎上增長新的行爲。里氏代換原則是對開閉原則的補充。實現開閉原則的關鍵步驟就是抽象化,而基類與子類的繼承關係就是抽象化的具體實現,因此里氏代換原則是對實現抽象化的具體步驟的規範。框架

三、依賴倒轉原則(Dependence Inversion Principle)設計

這個原則是開閉原則的基礎,核心內容:針對接口編程,高層模塊不該該依賴底層模塊,兩者都應該依賴抽象而不依賴於具體。3d

四、接口隔離原則(Interface Segregation Principle)代理

這個原則的意思是:使用多個隔離的接口,比使用單個龐大的接口要好。其目的在於下降耦合度。因而可知,其實設計模式就是從大型軟件架構出發,便於升級和維護軟件的設計思想。它強調低依賴、低耦合。code

五、單一職責原則(Single Responsibility Principle)對象

類的職責要單一,不能將太多的職責放在一個類中。blog

可能有的人會以爲單一職責原則和前面的接口隔離原則很類似,其實否則。其一,單一職責原則原注重的是職責;而接口隔離原則注重對接口依賴的隔離。其二,單一職責原則主要約束的是類,其次纔是接口和方法,它針對的是程序中的實現和細節;而接口隔離原則主要約束接口,主要針對抽象,針對程序總體框架的構建。

六、最少知道原則(Demeter Principle)

最少知道原則也叫迪米特法則,就是說:一個實體應當儘可能少的與其餘實體之間發生相互做用,使得系統功能模塊相對獨立。

一個對象應該對其餘對象保持最少的瞭解。類與類之間的關係越密切,耦合度越大,當一個類發生改變時,對另外一個類的影響也越大。若是兩個類沒必要彼此直接通訊,那麼這兩個類就不該當發生直接的相互做用。若是其中一個類須要調用另外一個類的某一個方法的話,能夠經過第三者轉發這個調用。因此在類的設計上,每個類都應當儘可能下降成員的訪問權限。

七、合成複用原則(Composite Reuse Principle)

合成複用原則就是在一個新的對象裏經過關聯關係(組合關係、聚合關係)來使用一些已有的對象,使之成爲新對象的一部分;新對象經過委派調用已有對象的方法達到複用功能的目的。簡而言之,儘可能多使用 組合/聚合 的方式,儘可能少使用甚至不使用繼承關係。

 

設計模式一般分爲三大類:

  • 建立型模式,共 5 種:工廠模式、抽象工廠模式、單例模式、建造者模式、原型模式。

  • 結構型模式,共 7 種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

  • 行爲型模式,共 11 種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

 

相關文章
相關標籤/搜索