設計模式分為三大類:
(1)建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
(2)結構型模式,共七種:介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。
(3)行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。
介面卡模式(adapter pattern)--把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。
優點:裝飾器模式(decorator)-- 對已經存在的某些類進行裝飾,以此來擴充套件一些功能
優點:缺點:
**模式(proxy pattern)--通過引入**物件的方式來間接訪問目標物件
優點:缺點:
外觀模式(facade pattern)
引入外觀角色之後,使用者只需要與外觀角色互動;
使用者與子系統之間的複雜邏輯關係由外觀角色來實現
優點:缺點:
橋接模式(bridge)--把抽象化與實現化解耦,使得二者可以獨立變化
優點:缺點:
組合模式(composite)--通過引入乙個抽象的元件物件,作為組合物件和葉子物件的父物件,這樣就把組合物件和葉子物件統一起來了,使用者使用的時候,始終是在操作元件物件,而不再去區分是在操作組合物件還是在操作葉子物件
優點:組合模式的本質:統一葉子物件和組合物件。
享元模式(flyweight pattern)--運用共享技術有效地支援大量細粒度物件的復用
廣義上講,在jdk類庫中定義的string類也是使用享元模式的典型。
適用場景:
優點:缺點:
設計模式之結構型模式
結構型設計模式主要考慮的是 如何組合類和物件以獲得更大的結構。結構型模式分為兩種 結構型物件模式和結構型類模式 結構型類行為模式 採用繼承機制來組合介面或實現。乙個簡單的例子是採用多重繼承方法將兩個以上的類組合成乙個類,結果這個類包含了所有父類的性質。eg adapter模式 結構型物件行為模式 描...
設計模式 結構型模式
介面卡模式 adapter pattern 橋接模式 bridge pattern 過濾器模式 filter criteria pattern 組合模式 composite pattern 裝飾器模式 decorator pattern 外觀模式 facade pattern 享元模式 flywei...
設計模式 結構型模式
proxy 模式 中介 介面卡 adapter 模式 轉換器 1.定義 將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類能一起工作。2.優點 復用了現存的類 將目標類和適配者類解耦,解決了目標類和適配者類介面不一致的問題。3.缺點 更換介面卡的實現過程比較複雜...