C 設計模式之二(設計模式六大原則)

2021-08-15 19:04:12 字數 1025 閱讀 1941

精彩部落格:

補充一下面對物件設計八大原則:前五大原則與設計模式的前五大原則相同,為:

1、單一職責原則(single responsibility principle, srp):乙個類只負責乙個功能領域中的相應職責,或者可以定義為:就乙個類而言,應該只有乙個引起它變化的原因。

2、開閉原則(open-closed principle, ocp):乙個軟體實體應當對擴充套件開放,對修改關閉。即軟體實體應盡量在不修改原有**的情況下進行擴充套件。

3、黎克特制代換原則(liskov substitution principle, lsp):所有引用基類(父類)的地方必須能透明地使用其子類的物件。

4、依賴倒轉原則(dependency inversion principle, dip):抽象不應該依賴於細節,細節應當依賴於抽象。換言之,要針對介面程式設計,而不是針對實現程式設計。

5、介面隔離原則(inte***ce segregation principle, isp):使用多個專門的介面,而不使用單一的總介面,即客戶端不應該依賴那些它不需要的介面。

從第六點開始,二者有了區別:

設計模式的第六大原則:

6、迪公尺特法則(law of demeter, lod):乙個軟體實體應當盡可能少地與其他實體發生相互作用。

面對物件:

6、優先使用物件組合,而不是類繼承

• 類繼承通常為「白箱復用」,物件組合通常為「黑箱復用」 。

• 繼承在某種程度上破壞了封裝性,子類父類耦合度高。

• 而物件組合則只要求被組合的物件具有良好定義的介面,耦合度低

7、封裝變化點

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

8、針對介面程式設計,而不是針對實現程式設計

• 不將變數型別宣告為某個特定的具體類,而是宣告為某個介面。

• 客戶程式無需獲知物件的具體型別,只需要知道物件所具有的介面。

• 減少系統中各部分的依賴關係,從而實現「高內聚、松耦合」的型別設計方案

設計模式六大原則

0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...

設計模式六大原則

0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...

設計模式六大原則

參考文章 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。開閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。...