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)