1、抽象工廠模式(Abstract Factory)
所謂抽象工廠模式就是她提供一個接口,用於創建相關或者依賴對象的家族,而不需要明確指定具體類
2、建造者模式(Builder)
對於建造者模式而已,它主要是將一個複雜對象的構建與表示分離,使得同樣的構建過程可以創建不同的表示。
3、工廠方法模式(Factory Method)
作爲抽象工廠模式的孿生兄弟,工廠方法模式定義了一個創建對象的接口,但由子類決定要實例化的類是哪一個,也就是說工廠方法模式讓實例化推遲到子類。
4、原型模式(Prototype)
原型模式就是用原型實例指定創建對象的種類,並且通過複製這些原型創建新的對象。5、單例模式(Singleton)
單例模式,從字面上看就是一個實例的意思。所以它的定義就是確保某一個類只有一個實例,並且提供一個全局訪問點。二、結構型模式
1、適配器模式(Adapter) 所謂適配器模式就是將一個類的接口,轉換成客戶期望的另一個接口。它可以讓原本兩個不兼容的接口能夠無縫完成對接2、橋接模式(Bridge)
所謂橋接模式就是講抽象部分和實現部分隔離開來,使得他們能夠獨立變化。3、組合模式(Composite)
組合模式組合多個對象形成樹形結構以表示“整體-部分”的結構層次。它定義瞭如何將容器對象和葉子對象進行遞歸組合,使得客戶在使用的過程中無須進行區分,可以對他們進行一致的處理。
4、裝飾者模式(Decorator)
裝飾者模式,動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更加有彈性的替代方案。5、外觀模式(Facade)
外觀模式提供了一個統一的接口,用來訪問子系統中的一羣接口6、享元模式(Flyweight)
享元模式就是運行共享技術有效地支持大量細粒度對象的複用7、代理模式(Proxy)、
代理模式就是給一個對象提供一個代理,並由代理對象控制對原對象的引用。
三、行爲型模式
1、職責鏈模式(Chain of Responsibility)
職責鏈模式描述的請求如何沿着對象所組成的鏈來傳遞的。它將對象組成一條鏈,發送者將請求發給鏈的第一個接收者,並且沿着這條鏈傳遞,直到有一個對象來處理它或者直到最後也沒有對象處理而留在鏈末尾端。
2、命令模式(Command)
所以命令模式將請求封裝成對象,以便使用不同的請求、隊列或者日誌來參數化其他對象。同時命令模式支持可撤銷的操作。3、解釋器模式(Interpreter)
所謂解釋器模式就是定義語言的文法,並且建立一個解釋器來解釋該語言中的句子。
4、迭代器模式(Iterator)
所謂迭代器模式就是提供一種方法順序訪問一個聚合對象中的各個元素,而不是暴露其內部的表示5、中介者模式(Mediator)
所謂中介者模式就是用一箇中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的交互6、備忘錄模式(Memento)
所謂備忘錄模式就是在不破壞封裝的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態,這樣可以在以後將對象恢復到原先保存的狀態8、狀態模式(State)
所以狀態模式就是允許對象在內部狀態發生改變時改變它的行爲,對象看起來好像修改了它的類。9、策略模式(Strategy)
所以策略模式就是定義了算法族,分別封裝起來,讓他們之前可以互相轉換,此模式然該算法的變化獨立於使用算法的客戶。10、模板方法模式(Template Method)
所謂模板方法模式就是在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變算法結構的情況下,重新定義算法中的某些步驟
11、訪問者模式(Visitor)
訪問者模式即表示一個作用於某對象結構中的各元素的操作,它使我們可以在不改變各元素的類的前提下定義作用於這些元素的新操作7、觀察者模式(Observer)
何謂觀察者模式?觀察者模式定義了對象之間的一對多依賴關係,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知並且自動更新。