設計模式分為三類:1.建立型;2.結構型;3.行為型。
建立型:
Abstract Factory(抽象工廠)——對象建立型模式
Builder(產生器)——對象建立型模式
Factory Method(Factory 方法)——對象建立型模式
Prototype(原型)——對象建立型模式
Singleton(單件)——對象建立型模式
結構型:
Adapter(適配器)——類對象結構型模式
Bridge(橋接)——對象結構型模式
Composite(組成)——對象結構型模式
Decorator(裝飾)——對象結構型模式
FACADE(外觀)——對象結構型模式
Flyweight(享元)——對象結構型模式
Proxy(代理)——對象結構型模式
行為型:
CHAIN OF RESPONSIBILITY(職責鏈)——對象行為型模式
Command(命令)——對象行為型模式
INTERPRETER(解譯器)——類行為型模式
ITERATOR(迭代器)——對象行為型模式
Mediator(中介者)——對象行為型模式
MEMENTO(備忘錄)——對象行為型模式
OBSERVER(觀察者)——對象行為型模式
STATE(狀態)——對象行為型模式
STRATEGY(策略)——對象行為型模式
TEMPLATE METHOD(模板方法)——類行為型模式
VISITOR(訪問者)——對象行為型模式
建立型的模式在現代的程式設計裡被廣泛的應用,而後兩大類好像更多的被用在設計領域架構中,(我認為架構也分為三類:基礎底層架構,通用架構,領域架構。基礎架構主要指我們的開發環境,比如.net2.0;通用架構指在使用基礎架構中積累的一些通過化設計,主要是一些通用控制項,也符合rup的迭代思想;領域架構指某個設計領域中比較獨特設計,這個一個公司生存和發展的本錢,一個軟體公司是否有發展前途主要就是看他的在他的主營領域裡的積累,這個積累就是領域架構)。當然我看過的代碼裡更多的是沒有使用任何一種設計模式,也不能說這就是一種不好的軟體設計。相反,我認為最好的設計模式是在相容擴充性、統一性、易用性的基礎上,代碼寫的可讀性越好,其設計越完美。中小軟體公司的倒閉有時候正是某些唯一讀得懂公司“命脈”的人的離開,從此公司的設計越來越不堪以至倒閉,所以一個設計的可讀性也是非常主要的。
瞎扯了半天,就從抽象工廠開始,介紹設計模式,當然主要的是我自己也能做一個備份和梳理。