設計模式應當是程式設計師的內功心法,總結的是前人的經驗。可以幫助我們提公升**的可讀性、可擴充套件性;降低維護成本,解決複雜的業務問題。但也不能為了套用設計模式而去使用設計模式。設計模式是在我們迷茫時提供的一種解決方案,或者說用好設計模式可以防範於未然。
說到設計模式,一定要了解軟體設計原則。首先回顧一下軟體設計七大原則:
設計原則
解釋開閉原則
對擴充套件開放,對修改關閉
依賴倒置原則
通過抽象使個各類或者模組不互相影響,實現松耦合
單一職責原則
乙個類、介面、方法只做一件事
介面隔離原則
盡量保證介面的純潔性,客戶端不應該依賴不需要的介面
迪公尺特法則
又叫最少知道原則,乙個類對其所有依賴的類知道的越少越好
黎克特制替換原則
子類可以擴充套件父類的功能,不能改變父類原有的功能
合成復用原則
盡量使用物件組合,聚合,而不是使用繼承關係達到**的復用目的
建立型模式:物件例項化的模式,建立型模式用於解耦物件的例項化過程。
結構型模式:把類或物件結合在一起形成乙個更大的結構。
行為型模式:類和物件如何互動,及劃分責任和演算法。 分類
設計模式
建立型工廠方法模式、抽象工廠模式、建造者模式、原型模式、單例模式
結構型介面卡模式、橋接模式、組合模式、裝飾器模式、門面模式、享元模式、**模式
行為型直譯器模式、模板方法模式、責任鏈模式、命令模式、迭代器模式、調節者模式、備忘錄模式、觀察者模式、狀態模式、策略模式、訪問者模式
我自己總結了其中的一部分:
[設計模式] - 工廠模式(factory pattern)簡單到複雜之路
[設計模式] - 單例模式(singleton pattern)全方式解析
[設計模式] - 原型模式 拔一根毫毛吹出猴萬個
[設計模式] - **模式 靜態**和動態**(jdk和cglib)實現
[設計模式] - 委派模式 注重結果的老闆
[設計模式] - 策略模式 多演算法選擇的福音
[設計模式] - 模板方法 把大象放冰箱,攏共分幾步?
[設計模式] - 介面卡模式 亡羊補牢,猶未晚矣
[設計模式] - 裝飾者模式 要要切割鬧,煎餅果子來一套
[設計模式] - 觀察者模式 「三年二班周杰倫,馬上到訓導處來」
在平時我們寫**的時候,通常是多個實際模式疊加使用。
設計模式C 實現 整體 部分設計模式
整體 部分設計模式有助於聚合元件形成一種語義單元。一種聚合元件 整體 封裝其構成元件 部分 組織它們之間的協作,並為其功能提供乙個公共介面。直接訪問乙個部分是不可能的。例子 示例 include using namespace std class wheel int main void 執行結果 整...
《設計模式解析》第三部分 設計模式
這一部分介紹設計模式,講述它們是什麼以及如何使用它們。這裡將描述和 cad cam 問題 第 3章,乙個迫切需要靈活 的問題 相關的四個設計模式。我將逐個展示它們並把它們和早期的問題關聯起來。在學習這些模式時,我將強調被四人團 經常被提及的作者 gamma helm johnson 和vlissid...
Java中常用到的部分設計模式
學如逆水行舟,不進則退。名人名言 工廠模式有普通工廠模式和抽象工廠模式,在這裡我先寫普通工廠模式,我們平時可能用的比較多。本人是吃貨,就拿吃舉例子吧,我們吃中國菜和吃西餐,都要進行吃這個動作,所以我們把它定義成乙個介面,多次實現即可。定義吃的這個介面public inte ce eater定義兩個實...