1. 程式人生 > >設計模式入門

設計模式入門

比較 迪米特法則 目的 ocp 接口 耦合 另一個 方向 推薦

一.概念:

  設計模式是人們在面對同類型軟件工程設計問題所總結出的一些有用經驗

  模式不是代碼而是某類問題的通用設計解決方案

  設計模式的本質目的是使軟件工程在維護性、擴展性、變化性、復雜度方面成O(N)

  學習設計模式最好的方式是在你的設計和以往的工程裏尋找何處可以使用它們

二.OO的六大原則:

  1. SRP:單一職責原則

    一個類應該最多只能有一個因素能夠給導致其變化,類中的方法應該都是相關性很高的,即“高內聚”

  2. OCP:開閉原則

    對拓展打開,對修改關閉。盡量少的去修改原來的代碼,而是通過繼承等方式去復用原來的代碼增加新功能。比較理想的原則,是我們努力的方向

  3.LSP:裏氏替換原則

    利用多態特性,父類作用的地方可以使用其任意子類替代,反之不行

  4.DIP:依賴倒置原則

    高層模塊不應該依賴低層模塊,兩者都應該依賴其抽象;抽象不依賴細節;細節依賴抽象; 要針對接口編程,不針對實現編程

  5.ISP:接口隔離原則

    類不應該實現它不需要的接口,將臃腫、龐大的接口拆分為更小、更具體接口 從而為系統解耦,讓程序容易重構、更改、部署

  6.LoD:迪米特法則

    一個類對需要耦合的另一個類應該知道的最少,只知道需要的方法即可,即“低耦合” ,因為耦合越高,當一個類發生變化時,對另一個類的影響也越大

    狹義的定義:不和陌生人講話

三:推薦書籍:

  從易到難:《大話設計模式》 《HeadFirst設計模式》 《設計模式解析2》 GOF《設計模式》

設計模式入門