1. 程式人生 > >類設計原則

類設計原則

  1. 開閉原則:在擴充套件方面開放,在修改方面封閉。多用介面、抽象類、多型等技術來設計。

       實現方法:把不變的部分抽象成介面;

介面要注意最小功能實現;

模組之間的呼叫要通過介面進行,這樣即使實現層發生變化,也無需修改呼叫層的程式碼;   

 

  1. 替換原則:子類可以替換父類,並出現在父類出現的任何地方。
  2. 依賴原則:依賴關係儘量依賴介面和抽象類。具體類只負責業務實現,修改具體類不會影響整個業務的依賴關係。

           高層模組不應該依賴於低層模組,二者都應該依賴於抽象。

            抽象不應該依賴於細節,細節應該依賴於抽象

  1. 介面分離原則:使用多個專門的介面要比使用單一介面涵蓋多個功能好。
  2. 單一職責:類在。一個操作類只完成一種職責。

設計時如何劃分職責:可分為實體類,操作類,邊界類;

  一種職責:引起該類發生變化的一個原因;

  操作類:控制類有效將業務邏輯獨立於實體資料和邊界控制,專注於處理業務邏輯,控制類會將特有的操作和實體類分離,者有利於實體類的統一化和提高複用性。

 

操作類要面向介面。

如何分解操作類:

 

類的關係:

關聯:一個類知道另一個類的屬性和方法;使用成員變數來實現;

聚合:表示整體與部分之間的關係,也是通過成員變數來實現,只是關聯的兩個類是同一層次的,聚合的兩個類是不同層次的,一個代表整體一個代表部分;部分可以離開整體而獨立存在。

合成:比聚合的關係還要強,它要求聚合關係中代表整體的物件負責代表部分物件的生命週期。整體要負責部分存活狀態的建立和銷燬。

 

依賴:區域性變數,方法的引數,靜態方法的呼叫。