類的設計原則

2021-06-07 05:55:58 字數 905 閱讀 4267

剛接觸設計模式的時候我就被它的優雅給吸引了,發現原來**還可以這樣寫,當時的我入了迷。

記得看的第一本設計模式的書籍叫《大話設計模式》,當時的我還不能完全理解裡面的思想,但並不妨礙我被它的優雅給吸引,這本書我看了3遍,直到現在感覺還是有點亂,在這整理一下自己的思路,加深一下自己的理解。

類的設計原則:

開閉原則:在面對物件設計的中,應該遵循對擴充套件開放,對修改關閉。

開閉原則實現方法:

為了滿足開閉原則,我們這軟體設計中應該將不變的部分抽象出來,定義成不變的介面(或抽象類),模組之間呼叫通過抽象介面進行,這樣即使實現層發生變化,呼叫**也不需要改變,介面是不變的是可以復用的,簡單的說就是基於介面(抽象)程式設計

單一職責原則:在類的設計過程中,只能讓乙個類有且只有乙個職責。

為什麼乙個類不能多餘乙個以上的職責?

當乙個類擁有多個職責的時候,也就意味著有多個原因會引起該類的改變,而這種變化會影響到該類不同職責的使用者:

1.當類的乙個職責需要包含其他外部類的時候,該類的另外乙個職責的使用者就不得不包還這個外部類

2.當類的乙個職責改變,而該類的另外乙個職責的使用者也不得不重新編譯這個類

職責劃分

單一職責其實從字面去理解非常容易,但在實際的設計過程中,並不是那麼容易對職責進行劃分。

首先我嘗試用一句話來概括這個類的職責,在語句中不要包括或、且、和之類的字眼,然後考慮這個類是否存在多個原因引起他的改變

介面分離原則:介面的設計應該遵循最小介面原則,不要把使用者不需要的方法放到同乙個介面裡

類的設計原則

1.在設計乙個類時,可能會不自覺地與它的實現相聯絡 譬如,這個介面我這樣設計,功能是否能最終實現?這是乙個很基本的錯誤.設計時要把抽象與實現分離。理由很簡單,一是簡化了類的抽象,忽略對當前設計目的來說不重要的屬性或特性,如飛機駕駛培訓系統的飛機類,就可以忽略飛機的客艙內部布置 二是把抽象與實現分現,...

物件導向的設計原則 類設計原則

物件導向設計中,如何通過很小的設計改變就可以應對設計需求的變化,這是令設計者極為關注的問題。為此不少oo先驅提出了很多有關物件導向的設計原則用於指導oo的設計和開發。下面是幾條與類設計相關的設計原則。1.開閉原則 the open closed principle ocp 乙個模組在擴充套件性方面應...

物件導向的設計原則 類設計原則

在物件導向設計中,如何通過很小的設計改變就可以應對設計需求的變化,這是令設計者極為關注的問題。為此不少oo先驅提出了很多有關物件導向的設計原則用於指導oo的設計和開發。下面是幾條與類設計相關的設計原則。1.開閉原則 the open closed principle ocp 乙個模組在擴充套件性方面...