經(jīng)典的《設(shè)計(jì)模式》一書歸納出23種設(shè)計(jì)模式,本文按《易學(xué)設(shè)計(jì)模式》一書歸納分類如下:
1.創(chuàng)建型模式
前面講過,社會(huì)化的分工越來越細(xì),自然在軟件設(shè)計(jì)方面也是如此,因此對(duì)象的創(chuàng)建和對(duì)象的使用分開也就成為了必然趨勢(shì)。因?yàn)閷?duì)象的創(chuàng)建會(huì)消耗掉系統(tǒng)的很多資源,所以單獨(dú)對(duì)對(duì)象的創(chuàng)建進(jìn)行研究,從而能夠高效地創(chuàng)建對(duì)象就是創(chuàng)建型模式要探討的問題。這里有6個(gè)具體的創(chuàng)建型模式可供研究,它們分別是:
簡(jiǎn)單工廠模式(Simple Factory);
工廠方法模式(Factory Method);
抽象工廠模式(Abstract Factory);
創(chuàng)建者模式(Builder);
原型模式(Prototype);
單例模式(Singleton)。
說明:嚴(yán)格來說,簡(jiǎn)單工廠模式不是GoF總結(jié)出來的23種設(shè)計(jì)模式之一。
2.結(jié)構(gòu)型模式
在解決了對(duì)象的創(chuàng)建問題之后,對(duì)象的組成以及對(duì)象之間的依賴關(guān)系就成了開發(fā)人員關(guān)注的焦點(diǎn),因?yàn)槿绾卧O(shè)計(jì)對(duì)象的結(jié)構(gòu)、繼承和依賴關(guān)系會(huì)影響到后續(xù)程序的維護(hù)性、代碼的健壯性、耦合性等。對(duì)象結(jié)構(gòu)的設(shè)計(jì)很容易體現(xiàn)出設(shè)計(jì)人員水平的高低,這里有7個(gè)具體的結(jié)構(gòu)型模式可供研究,它們分別是:
外觀模式(Facade);
適配器模式(Adapter);
代理模式(Proxy);
裝飾模式(Decorator);
橋模式(Bridge);
組合模式(Composite);
享元模式(Flyweight)。
3.行為型模式
在對(duì)象的結(jié)構(gòu)和對(duì)象的創(chuàng)建問題都解決了之后,就剩下對(duì)象的行為問題了,如果對(duì)象的行為設(shè)計(jì)的好,那么對(duì)象的行為就會(huì)更清晰,它們之間的協(xié)作效率就會(huì)提高,這里有11個(gè)具體的行為型模式可供研究,它們分別是:
模板方法模式(Template Method);
觀察者模式(Observer);
狀態(tài)模式(State);
策略模式(Strategy);
職責(zé)鏈模式(Chain of Responsibility);
命令模式(Command);
訪問者模式(Visitor);
調(diào)停者模式(Mediator);
備忘錄模式(Memento);
迭代器模式(Iterator);
解釋器模式(Interpreter)。