三大类设计模式-23种小类设计模式
一:創(chuàng)建型模式:
創(chuàng)建型模式(Creational Pattern)對類的實例化過程進行了抽象,能夠?qū)④浖K中對象的創(chuàng)建和對象
的使用分離
為了使軟件的結(jié)構(gòu)更加清晰,外界對于這些對象只需要知道它們共同的接口,而不清楚其具體的實現(xiàn)細節(jié),使整個系統(tǒng)的設(shè)計更加符合單一職責(zé)原則。
創(chuàng)建型模式在創(chuàng)建什么(What),由誰創(chuàng)建(Who),何時創(chuàng)建(When)等方面都為軟件設(shè)計者提供了盡可能大的靈活性。創(chuàng)建型模式隱藏了類的實例的創(chuàng)建細節(jié),通過隱藏對象如何被創(chuàng)建和組合在一起達到使整個系統(tǒng)獨立的目的。
包含模式
簡單工廠模式(Simple Factory)
工廠方法模式(Factory Method)
抽象工廠模式(Abstract Factory)
建造者模式(Builder)
原型模式(Prototype)
單例模式(Singleton)
二:結(jié)構(gòu)型模式:
結(jié)構(gòu)型模式(Structural Pattern)描述如何將類或者對 象結(jié)合在一起形成更大的結(jié)構(gòu),就像搭積木,可以通過 簡單積木的組合形成復(fù)雜的、功能更為強大的結(jié)構(gòu)。
結(jié)構(gòu)型模式可以分為類結(jié)構(gòu)型模式和對象結(jié)構(gòu)型模式:
類結(jié)構(gòu)型模式關(guān)心類的組合,由多個類可以組合成一個更大的
系統(tǒng),在類結(jié)構(gòu)型模式中一般只存在繼承關(guān)系和實現(xiàn)關(guān)系。
- 對象結(jié)構(gòu)型模式關(guān)心類與對象的組合,通過關(guān)聯(lián)關(guān)系使得在一 個類中定義另一個類的實例對象,然后通過該對象調(diào)用其方法。 根據(jù)“合成復(fù)用原則”,在系統(tǒng)中盡量使用關(guān)聯(lián)關(guān)系來替代繼 承關(guān)系,因此大部分結(jié)構(gòu)型模式都是對象結(jié)構(gòu)型模式。
包含模式
適配器模式(Adapter)
橋接模式(Bridge)
組合模式(Composite)
裝飾模式(Decorator)
外觀模式(Facade)
享元模式(Flyweight)
代理模式(Proxy)
三:行為型模式
行為型模式(Behavioral Pattern)是對在不同的對象之間劃分責(zé)任和算法的抽象化。
行為型模式不僅僅關(guān)注類和對象的結(jié)構(gòu),而且重點關(guān)注它們之間的相互作用。
通過行為型模式,可以更加清晰地劃分類與對象的職責(zé),并研究系統(tǒng)在運行時實例對象 之間的交互。在系統(tǒng)運行時,對象并不是孤立的,它們可以通過相互通信與協(xié)作完成某些復(fù)雜功能,一個對象在運行時也將影響到其他對象的運行。
行為型模式分為類行為型模式和對象行為型模式兩種:
類行為型模式:類的行為型模式使用繼承關(guān)系在幾個類之間分配行為,類行為型模式主要通過多態(tài)等方式來分配父類與子類的職責(zé)。
對象行為型模式:對象的行為型模式則使用對象的聚合關(guān)聯(lián)關(guān)系來分配行為,對象行為型模式主要是通過對象關(guān)聯(lián)等方式來分配兩個或多個類的職責(zé)。根據(jù)“合成復(fù)用原則”,系統(tǒng)中要盡量使用關(guān)聯(lián)關(guān)系來取代繼承關(guān)系,因此大部分行為型設(shè)計模式都屬于對象行為型設(shè)計模式。
包含模式
職責(zé)鏈模式(Chain of Responsibility)
命令模式(Command)
解釋器模式(Interpreter)
迭代器模式(Iterator)
中介者模式(Mediator)
備忘錄模式(Memento)
觀察者模式(Observer)
狀態(tài)模式(State)
策略模式(Strategy)
模板方法模式(Template Method)
訪問者模式(Visitor)
四:設(shè)計模式關(guān)系圖
總結(jié)
以上是生活随笔為你收集整理的三大类设计模式-23种小类设计模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF中Expander的用法和控件模板
- 下一篇: Kubernetes的初始化容器init