設計模式:總結

  首先這裏先講下複合模式的定義,複合模式結合兩個或以上的模式,組成一個解決方案,解決一再發生的通常性問題。具體場景和例子這裏就不介紹了。html

  好了,如今讓咱們看下什麼是模式。算法

    模式:是在某情境下,針對某問題的某種解決方案。設計模式

           情境就是應用某個模式的狀況下,這應該是會不斷出現的狀況。設計

           問題就是你想在某情境下達到的目標,但也能夠是某情境下的約束代理

           解決方案就是你所追求的,一個通用的設計,用瞭解決約束、達到目標。server

  根據模式的目標能夠將模式分紅三個不一樣類目:建立型、行爲型以及結構型htm

    建立型模式:涉及到將對象實例化,這類模式都提供一個方法,將客戶從所須要實例化的對象中解耦。對象

    行爲型模式:涉及到類與對象如何交換及分配職責。blog

    結構型:能夠讓你把類或對象組合到更大的結構中接口

  下面咱們主要區分幾個設計模式所屬的類目。

    建立型:Abstract Factory、Factory Method、Singleton、

    結構型:Decorator、Composite、Proxy、Facade、Adapter

           行爲型:State、Iterator、Observer、Strategy、Command、Template

  接着,讓咱們在總結下以前介紹的各個設計模式吧。

    裝飾者:包裝一個對象,以提供新的行爲。

    狀態   :封裝了基於狀態的行爲,並使用委託在行爲之間切換。

    迭代器:在對象的集合之中游走,而不暴露集合的實現。

    外觀   :簡化一羣類的接口。

    策略   :封裝可互換的行爲,並使用委託來決定使用哪個。

    代理   :包裝對象,以控制對此對象的訪問。

    工廠方法:由子類決定要建立的具體類是哪個

    適配器:封裝對象,並提供不一樣的接口。

    觀察者:讓對象可以在狀態改變時被通知。

    模板方法:由子類決定如何實現一個算法的步驟。

    組合   :客戶用一致的方式處理對象集合和單個對象。

    單例   :確保有且只有一個對象唄建立。  

    抽象工廠:容許客戶建立對象的家族,而無需指定具體的類。

    命令   :封裝請求成爲對象。

  PS:說明下此係列未涉及的其餘設計模式有:橋接、生成器、責任鏈、蠅量、解釋器、中介者、備忘錄、原型、訪問者。有興趣的能夠去參考博客http://www.cnblogs.com/zuoxiaolong/category/509144.html的介紹。  

  

  End  by  設計模式

相關文章
相關標籤/搜索