設計模式

軟件設計概要

一、Java設計模式

軟件設計的目標—— 複用

二、面向對象設計原則

1. 依賴倒置原則(DIP)

  • 高層模塊(穩定)不應該依賴於低層模塊(變化),二者都應該依賴於抽象(穩定)
  • 抽象(穩定)不應該依賴於實現細節(變化),實現細節應該依賴於抽象(穩定)。

2. 開放封閉原則(OCP)

  • 對擴展開放,對更改封閉
  • 類模塊應該是可擴展的,但是不可修改

3. 單一職責原則(SRP)

  • 一個類應該僅有一個引起它變化的原因。
  • 變化的方向隱含着類的責任

4. Liskov替換原則(LSP)

  • 子類必須能夠替換他們的基類(IS-A)
  • 繼承表達類型抽象

5. 接口隔離原則

  • 不應該強迫客戶程序依賴它們不用的方法
  • 接口應該小而完備

6. 優先使用對象組合,而不是繼承

  • 類繼承通常爲“白箱複用”,對象組合通常爲“黑箱複用”
  • 繼承在某種程度上破壞封裝性,子類父類耦合度高
  • 而對象組合則只要求被組合的對象具有良好定義的接口,耦合度低

7. 封裝變化點

  • 使用封裝來創建對象之間的分階層,讓設計者可以在分界層的一側進行修改,而不會對另一側產生不良的影響,從而實現層次間的鬆耦合

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