
C的設計模式課幫助開發人員創建可維護靈活且易于理解的代碼。設計模式是軟件工程中針對經常出現的問題而設計的可通用可重復的解決方案是一種解決問題的描述或模型。設計模式有三種創建設計模式結構設計模式和行為設計模式一個類由類名屬性和操作的方法類之間的關系又泛華聚合有向關聯組合關聯實現依賴和注釋連接器創建設計模式是設計模式的一個子方法包括工廠方法抽象工廠方法構建器方法原型方法和單例方法工廠方法是一種設計模式它定義了創建接口對象并由該接口類的派生類來創建對象的實例。抽象工廠方法抽象工廠方法是一種創建設計模式它提供了一個接口用于創建一組相關或依賴的對象而無須指定其具體類。構建器方法是一種用于創建復雜對象的創建設計模式它提供了一個接口 類然后由具有現該接口類的具體構建器類來創建特定對象 。原型方法是一種創建設計模式用于創建與現有對象具有相同結構和初始狀態的新對象。原型方法采用克隆方法支持克隆對象稱為原型對象。單例方法是一種創建模式提供了一個類該類只有一個對象并且提供了一個全局訪問點。單例方法解決兩個問題確保一個類只有一個隊形提供一個全局訪問點。結構設計模式是軟件開發中設計模式的一個子集它側重于類或對象的組合以更大更復雜的結構。適配器方法是一種結構合設計模式它允許將現有類的接口用作另一個類的接口充當兩個不兼容的對象的組合。橋接方法是一種結構設計模式它允許用戶將一個大類或一組密切相關的類拆分為兩個單獨的層次結構。結構方法實現和抽象組合方法是一種結構設計模式它允許我們將對象組合成樹結構以表達部分與整體的關系然后像處理單個對象那樣處理樹結構。裝飾器方法是一種結構設計模式它可以動態的某個對象增加新行為而不影響由同一個類生成的對象。裝飾器方法通過創建一個裝飾器類集可以把所有的具體對象放入其中。門面方法是一種結構設計模式它為庫框架或其復雜子系統提供了一個簡化的接口函數。代理方法是一種結構設計模式用于為對象提供替代或占位目的是控制對該對象的訪問。蠅量級方法蠅量級方法是一種結構設計模式通過多個對象狀態之間的公共部分而不是將所有的數據都保留在每個對象中可以使我們將更多的對象放入有限的內存中內在狀態和外在狀態。行為設計模式是軟件開發設計模式的一個子集用于處理對象和類之間的交互側重于對象和如何協作與通信從而完成任務和職責。責任鏈方法是一種行為設計模式用于在程序連zhong傳遞請求。收到請求后每個處理程序決定是處理響應請求還是將響應請求傳遞給程序鏈中的下一個處理程序。責任鏈方法依賴于將特定行為轉換為特定獨立對象程序并為之處理程序。迭代器方法是一種行為設計模式用于遍歷集合的元素中介器方法中介器方法是 一種行為設計模式定義了一個對象中介器以集中系統中各種組件或對象之間的通信。中介器方法是重要且廣泛使用的行為設計模式之一。中介器通過在兩個對象之間引入一個層實現對象之間的解耦以便對象之間的通信通過該層完成。備忘錄方法備忘錄方法是一種行為設計模式用于在不違反封裝的情況下捕獲和恢復對象的狀態允許程序員將對象的狀態保存后恢復到以前的狀態從而撤銷或回滾對象所做的更改。觀察者方法觀察者方法是一種行為設計模式它定義了對象之間的一種多依賴關系以便當一個主題更改狀態其所有的依賴對象都會自動收到通知和更新。狀態方法狀態方法是一種行為設計模式允許對象在其內部狀態變化變更行為這是通過將對象的行為封裝在不同的狀態隊形中來實現的并且對象本身可以根據其狀態在不同的狀態對象之間的狀態。策略方法是一種行為設計模式該方法定義并封裝了一系列算法并使這些算法可以互換從而允許客戶端在不更改代碼結構的情況下動態切換算法。策略方法context strategy concretestrategy client模板方法是一種行為設計模式它在一個超類中定義了整個框架允許子類在不更改超類算法框架的情況下覆蓋算法的特定步驟。命令方法命令方法是一種行為設計模式它可將請求轉換為獨立對象允許具有不同請求的進行參數化對請求進行排隊以及支持不可撤銷的操作訪客方法訪客方法是行為設計模式之一。