類設計原則
阿新 • • 發佈:2018-12-17
- 開閉原則:在擴充套件方面開放,在修改方面封閉。多用介面、抽象類、多型等技術來設計。
實現方法:把不變的部分抽象成介面;
介面要注意最小功能實現;
模組之間的呼叫要通過介面進行,這樣即使實現層發生變化,也無需修改呼叫層的程式碼;
- 替換原則:子類可以替換父類,並出現在父類出現的任何地方。
- 依賴原則:依賴關係儘量依賴介面和抽象類。具體類只負責業務實現,修改具體類不會影響整個業務的依賴關係。
高層模組不應該依賴於低層模組,二者都應該依賴於抽象。
抽象不應該依賴於細節,細節應該依賴於抽象
- 介面分離原則:使用多個專門的介面要比使用單一介面涵蓋多個功能好。
- 單一職責:類在。一個操作類只完成一種職責。
設計時如何劃分職責:可分為實體類,操作類,邊界類;
一種職責:引起該類發生變化的一個原因;
操作類:控制類有效將業務邏輯獨立於實體資料和邊界控制,專注於處理業務邏輯,控制類會將特有的操作和實體類分離,者有利於實體類的統一化和提高複用性。
操作類要面向介面。
如何分解操作類:
類的關係:
關聯:一個類知道另一個類的屬性和方法;使用成員變數來實現;
聚合:表示整體與部分之間的關係,也是通過成員變數來實現,只是關聯的兩個類是同一層次的,聚合的兩個類是不同層次的,一個代表整體一個代表部分;部分可以離開整體而獨立存在。
合成:比聚合的關係還要強,它要求聚合關係中代表整體的物件負責代表部分物件的生命週期。整體要負責部分存活狀態的建立和銷燬。
依賴:區域性變數,方法的引數,靜態方法的呼叫。