1. 程式人生 > >設計模式分類(建立型模式、結構型模式、行為模式)

設計模式分類(建立型模式、結構型模式、行為模式)

1.建立型模式
前面講過,社會化的分工越來越細,自然在軟體設計方面也是如此,因此物件的建立和物件的使用分開也就成為了必然趨勢。因為物件的建立會消耗掉系統的很多資源,所以單獨對物件的建立進行研究,從而能夠高效地建立物件就是建立型模式要探討的問題。這裡有6個具體的建立型模式可供研究,它們分別是:

簡單工廠模式(Simple Factory)
工廠方法模式(Factory Method)
抽象工廠模式(Abstract Factory)
建立者模式(Builder)
原型模式(Prototype)
單例模式(Singleton)
說明:嚴格來說,簡單工廠模式不是GoF總結出來的23種設計模式之一。

2.結構型模式
在解決了物件的建立問題之後,物件的組成以及物件之間的依賴關係就成了開發人員關注的焦點,因為如何設計物件的結構、繼承和依賴關係會影響到後續程式的維護性、程式碼的健壯性、耦合性等。物件結構的設計很容易體現出設計人員水平的高低,這裡有7個具體的結構型模式可供研究,它們分別是:

外觀模式/門面模式(Facade門面模式)

介面卡模式(Adapter)
代理模式(Proxy)
裝飾模式(Decorator)
橋樑模式/橋接模式(Bridge)
組合模式(Composite)
享元模式(Flyweight)

3.行為型模式
在物件的結構和物件的建立問題都解決了之後,就剩下物件的行為問題了,如果物件的行為設計的好,那麼物件的行為就會更清晰,它們之間的協作效率就會提高,這裡有11個具體的行為型模式可供研究,它們分別是:

模板方法模式(Template Method)
觀察者模式(Observer)
狀態模式(State)
策略模式(Strategy)
職責鏈模式(Chain of Responsibility)

命令模式(Command)
訪問者模式(Visitor)
調停者模式(Mediator)
備忘錄模式(Memento)
迭代器模式(Iterator)
直譯器模式(Interpreter)