設計模式學習筆記(一)-六大原則與三大類型


1.1 六大原則 (總原則-開閉原則:對擴展開放,對修改封閉。)

  1. 單一職責原則
    • 不要存在多於一個導致類變更的原因,也就是說每個類應該實現單一的職責,否則就應該把類拆分。
  2. 里氏替換原則(Liskov Substitution Principle)
    • 對“開-閉”原則的補充
    • 是繼承復用的基石:任何基類可以出現的地方,子類一定可以出現。
  3. 依賴倒轉原則(Dependence Inversion Principle)
    • 面向接口編程,依賴於抽象而不依賴於具體
  4. 接口隔離原則(Interface Segregation Principle)
    • 每個接口中不存在子類用不到卻必須實現的方法,如果不然,就要將接口拆分
  5. 迪米特法則(最少知道原則)(Demeter Principle)
    • 一個類對自己依賴的類知道的越少越好
    • 最少知道原則的另一個表達方式是:只與直接的朋友通信。
      類之間只要有耦合關系,就叫朋友關系。耦合分為依賴、關聯、聚合、組合等。
      我們稱出現為成員變量、方法參數、方法返回值中的類為直接朋友。
      局部變量、臨時變量則不是直接的朋友。我們要求陌生的類不要作為局部變量出現在類中。
  6. 合成復用原則(Composite Reuse Principle)
    • 盡量首先使用合成/聚合的方式,而不是使用繼承。

1.2 三大類型

  1. 創建者模式(Creational Pattern)
    • 對類的實例化過程進行了抽象,能夠將軟件模塊中對象的創建和對象的使用分離
  2. 結構型模式(Structural Pattern)
    • 描述如何將類或者對象結合在一起形成更大的結構;
    • 可分為類結構型模式和對象結構型模式
  3. 行為型模式(Behavioral Pattern)
    • 不僅僅關注類和對象的結構,而且重點關注它們之間的相互作用,是對在不同的對象之間划分責任和算法的抽象化
    • 分為類行為型模式和對象行為型模式
    • 根據“合成復用原則”,系統中要盡量使用關聯關系來取代繼承關系


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM