天天看點

設計模式

## 設計模式

###### 面向對象的設計原則

- 對接口程式設計,不要對實作程式設計

- 使用對象之間的組合,減少對繼承的使用

- 抽象用于不同的事物,而接口用于事物的行為

###### 設計模式的設計原則

- 開閉原則:對擴充開放,對修改封閉

  + mean: 執行個體的内部不可修改,但可以增加新功能

- 依賴倒轉:對接口程式設計,依賴于抽象而不依賴于具體

  + mean: 就是把公共的拿出來,定義成抽象類、接口、抽象方法,然後大家再去實作這個抽

  象,實作的方法各有不同,各個實體互相獨立沒有依賴,各個實體離開誰都能活

- 接口隔離:使用多個接口,而不是對一個接口程式設計,去依賴降低耦合

  + mean: 就是抽象再抽象

- 最少知道:減少内部依賴,盡可能的獨立

  + mean: 實作依賴注入容器,把依賴的實體注入到一個執行個體(所謂容器)

- 合成複用:多個獨立的實體合成聚合,而不是使用繼承

  + mean:盡可能不用繼承,使用以上三種方式構成代碼結構

- 裡氏代換:超類(父類)出現的地方,派生類(子類)都可以出現

  + mean:能用父類實作的子類也能實作

###### 簡單設計原則

- 通過所有測試:及需求為上

- 盡可能的消除重複:高内聚低耦合

- 盡可能的清晰表達:可讀性

- 更少代碼元素:常量,變量,函數,類,包 …… 都屬于代碼元素,降低複雜性

- 以上四個原則的重要程度依次降低

>  核心:高内聚松耦合(單一職責),外部依賴,實體對抽象程式設計,抽象就是分層

非學,無以緻疑;非問,無以廣識

繼續閱讀