設計模式小結

2022-07-11 05:42:09 字數 743 閱讀 6337

經過這段時間學習的設計模式,心中也算有了大概的感念(需要時常溫習),在學習的時候不是按照設計模式的分類一步步學的,我學的過程很佛性,點到**看**。

1、建立型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。

2、結構型模式(7種):介面卡模式,裝飾器模式,**模式,外觀模式,橋接模式,組合模式,享元模式。

3、行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。

設計模式所遵循的原則

1、開放-封閉原則:軟體實體(類 模組 函式 等等)應該可以修改,但是不可修改

2、單一職責原則:就乙個類而言,應該僅有乙個引起它變化的原因

3、依賴倒轉原則:高層模組不應該依賴低層模組、兩個都應該依賴抽象。 抽象不應該依賴細節,細節應該依賴抽象。

4、迪公尺特法則:    如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果乙個類需要呼叫另乙個類的某個方法,應該通過第三者**這個呼叫。

5、合成復用原則:盡量使用合成/聚合的方式,而不是使用繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改。

設計模式小結

1 建立性模式 建立物件 1 工廠方法模式 根據輸入的產品類別不同,工廠產生不同的產品。main函式基本不變,擴充套件不同的產品。2 建造者模式 相同的構建過程 director 不同的表示 builder 只需要擴充套件表示即可。例如汽車組裝過程一樣 director 但各個部件不一樣 build...

設計模式小結

q 一定要設計模式嗎?a 設計是為了封閉變化,若是個專案確定以後不需要擴充套件,那麼隨便怎麼幹都行。若不是這樣,至少保證當前專案中會擴充套件的地方進行設計 q 簡單的例子 a mvc是最簡單的例子。把它發揚光大就不錯了。通常的做法是一定要把v分開,mc視情況而定。比如今天我們使用gui作為渲染,下乙...

設計模式小結

結構型行為型 include using namespace std class csingleton protected csingleton 過載賦值建構函式,但貌似是沒必要的,因為物件無法在外部先被建立 csingleton operator const csingleton other st...