標籤:設計模式
設計模式分類:
建立型:
建立對象時,不再由我們直接執行個體化對象;而是根據特定情境,由程式來確定建立對象的方式,從而保證更大的效能、更好的架構優勢。建立型模式主要有簡單原廠模式(並不是23種設計模式之一)、Factory 方法、抽象原廠模式、單例模式、產生器模式和原型模式。
結構型:
用於協助將多個對象組織成更大的結構。結構型模式主要有適配器模式adapter、橋接模式bridge、組合器模式component、裝飾器模式decorator、門面模式、亨元模式flyweight和代理模式proxy。
行為型:
用於協助系統間各對象的通訊,以及如何控制複雜系統中流程。行為型模式主要有命令模式command、解譯器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式state、策略模式、模板模式和訪問者模式。
常見設計模式:
單例模式(Singleton):在Singleton的核心結構中只包含一個被稱為單例類的特殊類。通過單例模式可以保證系統中一個類只有一個執行個體而且該執行個體易於外界訪問,從而方便對執行個體個數的控制並節約系統資源。如果希望在系統中某個類的對象只能存在一個,單例模式是最好的解決方案;
橋接模式(Bridge): 由於實際的需要,某個類具有兩個以上的維度變化,如果只是使用繼承將無法實現這種需要,或者使得設計變得相當臃腫。而橋接模式的做法是把變化部分抽象出來,使變化部分與主類分離開來,從而將多個的變化徹底分離。最後提供一個管理類來組合不同維度上的變化,通過這種組合來滿足業務的需要。
組合模式(Composite)不解釋,就是包含
外觀模式(Facade):隨著系統的不斷改進和開發,它們會變得越來越複雜,系統會產生大量的類,這使得程式流程更難被理解。門面模式可為這些類提供一個簡化的介面,從而簡化訪問這些類的複雜性。
門面模式(Facade)也被稱為正面模式、面板模式,這種模式用於將一組複雜的類封裝到一個簡單的外部介面中。
觀察者模式(Observer)
:觀察者模式定義了對象間的一對多依賴關係,讓一個或多個觀察者對象觀察一個主題對象。當主題對象的狀態發生變化時,系統能通知所有的依賴於此對象的觀察者對象,從而使得觀察者對象能夠自動更新。
常用的設計模式筆記