C 設計模式筆記《一》

2021-09-01 11:49:02 字數 587 閱讀 3675

基本的設計模式都是基於以下設計原則的

高層模組(穩定)不應該依賴與低層模組(變化),二者都應該依賴於抽象(穩定)。

抽象(穩定)不應該依賴於實現細節(變化),實現細節應該依賴於抽象(穩定)。

對擴充套件開放,對更改封閉。

類模組應該是可擴充套件的,但是不可修改。

乙個類應該僅有乙個引起他變化的原因。

變化的反方向隱含著類的責任。

子類必須能替換他們的基類(is-a)。

繼承表達型別抽象。

不應該強迫客戶程式依賴他們不用的方法。

介面應該小而完備。

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

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

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

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

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

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

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

設計模式學習筆記(一) 設計模式

3 常用設計模式 4 設計模式用途 5 總結 軟體開發技術包含 招式 與 內功 其中,程式語言,開發技術,著名框架可以認為是 招式 而資料結構,演算法,設計模式,重構,軟體工程等則為 內功 招式 可以很快學會,但是 內功 的修煉需要更長的時間。對設計模式的學習會令 內功 大增,配合日益純熟的 招式 ...

設計模式筆記(一)

學習了兩周的設計模式,感覺 大話設計模式 這本書確實不錯,記了點筆記,方便以後檢視。單一職責原則 如果乙個類承擔的職責承過多,就等於把這些職責耦合在一起,乙個職責的變化可能會消弱或者抑制這個類完成其它職責的能力,這種耦合會倒置脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。開放 封閉原則 對擴...

C 設計模式學習筆記一 簡單工廠模式

最近在學習設計模式,很多人說 大話設計模式 比較適合入門,就拿來看看。但是,書裡的 實現全是c 的,於是想用c 實現一遍。簡單工廠模式 實現如下 operation.h實現如下 pragma once include operationlib.h include using namespace st...