設計模式主要分三個型別:建立型、結構型和行為型。
其中建立型有:
一、singleton,單例模式:保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點
二、abstract factory,抽象工廠:提供乙個建立一系列相關或相互依賴物件的介面,而無須指定它們的具體類。
三、factory method,工廠方法:定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,factory method使乙個類的例項化延遲到了子類。
四、builder,建造模式:將乙個複雜物件的構建與他的表示相分離,使得同樣的構建過程可以建立不同的表示。
五、prototype,原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型來建立新的物件。
行為型有:
六、iterator,迭代器模式:提供乙個方法順序訪問乙個聚合物件的各個元素,而又不需要暴露該物件的內部表示。
七、observer,觀察者模式:定義物件間一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知自動更新。 activemq訊息佇列
八、template method,模板方法:定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中,templatemethod使得子類可以不改變乙個演算法的結構即可以重定義該演算法得某些特定步驟。
九、command,命令模式:將乙個請求封裝為乙個物件,從而使你可以用不同的請求對客戶進行引數化,對請求排隊和記錄請求日誌,以及支援可撤銷的操作。
十、state,狀態模式:允許物件在其內部狀態改變時改變他的行為。物件看起來似乎改變了他的類。
十一、strategy,策略模式:定義一系列的演算法,把他們乙個個封裝起來,並使他們可以互相替換,本模式使得演算法可以獨立於使用它們的客戶。
十二、china of responsibility,職責鏈模式:使多個物件都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關係
十三、mediator,中介者模式:用乙個中介物件封裝一些列的物件互動。
十四、visitor,訪問者模式:表示乙個作用於某物件結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作。
十五、interpreter,直譯器模式:給定乙個語言,定義他的文法的乙個表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。
十六、memento,備忘錄模式:在不破壞物件的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。
結構型有:
十七、composite,組合模式:將物件組合成樹形結構以表示部分整體的關係,composite使得使用者對單個物件和組合物件的使用具有一致性。
十八、facade,外觀模式:為子系統中的一組介面提供一致的介面,fa?ade提供了一高層介面,這個介面使得子系統更容易使用。
十九、proxy,**模式:為其他物件提供一種**以控制對這個物件的訪問
二十、adapter,介面卡模式:將一類的介面轉換成客戶希望的另外乙個介面,adapter模式使得原本由於介面不相容而不能一起工作那些類可以一起工作。
二十一、decrator,裝飾模式:動態地給乙個物件增加一些額外的職責,就增加的功能來說,decorator模式相比生成子類更加靈活。
二十二、bridge,橋模式:將抽象部分與它的實現部分 相分離,使他們可以獨立的變化。
二十三、flyweight,享元模式
設計模式 23種設計模式
一 軟體設計模式的概念 軟體設計模式 software design pattern 又稱設計模式,是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。它描述了在軟體設計過程中的一些不斷重 生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的 設計經驗的總結...
23種設計模式
建立型 1.單件模式 singleton pattern 2.抽象工廠 abstract factory 3.建造者模式 builder 4.工廠方法模式 factory method 5.原型模式 prototype 結構型 6.介面卡模式 adapter pattern 7.橋接模式 bridg...
23種設計模式
設計模式 一書歸納出23種設計模式 1 建立型模式 前面講過,社會化的分工越來越細,自然在軟體設計方面也是如此,因此物件的建立和物件的使用分開也就成為了必然趨勢。因為物件的建立會消耗掉系統的很多資源,所以單獨對物件的建立進行研究,從而能夠高效地建立物件就是建立型模式要 的問題。這裡有6個具體的建立型...