一句話設計模式,不再迷路~

小姐姐味道發表於2019-04-16

簡單工廠

Simple Factory,是由一個工廠物件決定建立出哪一種產品類的例項,是工廠模式家族中最簡單實用的模式。

工廠方法

Factory Method,定義一個用於建立物件的介面,讓子類決定例項化哪一個類,工廠方法使一個類的例項化延遲到其子類。為了遵循擴充套件開放,修改關閉原則,將簡單工廠類轉換為工廠方法介面,將其Switch分支分離成子類去繼承工廠方法介面類,順利的將建立物件的過程延遲到子類。

抽象工廠

Abstract Factory,提供一個建立一系列相關或相互依賴物件的介面,而無需指定他們具體的類。

原型模式(Prototype)

用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。

建造者(Builder)

將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

單例(Singleton)

保證一個類僅有一個例項,並提供一個訪問它的全域性訪問點

Adapter

將一個類的介面轉換為客戶希望的另一個介面,Adapter模式使得原本由於介面不相容而不能一起工作的那些類一起工作。

Proxy

為其他物件提供一種代理以控制對這個物件的訪問。

Composite

將物件組合成樹形結構以表示“部分——整體”的層次結構,組合模式使得使用者對單個物件和組合物件的使用具有一致性。

Bridge

將抽象部分與它的實現部分分離,使它們都可以獨立地變化。

flyweight

運用共享技術有效的支援大量細粒度的物件。

Facade

為子系統中的一組介面提供一個一致的介面,此模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。

Decorator

動態的給一個物件新增額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。

Memento

在不破壞封裝性的前提下,捕獲一個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可以將物件恢復到原先儲存的狀態

Command

將一個請求封裝為一個物件,從而使你可用不同的請求對客戶進行引數化,對請求排隊或記錄請求日誌,以及支援可撤銷的操作。

策略(Strategy)

它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。

模板方法(TemplateMethod)

定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。

觀察者(Observer)

定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某一個主題物件。這個主題物件在狀態發生變化時,會通知所有觀察者物件,使它們能夠自動更新自己。

迭代器(Iterator)

提供一種方法順序訪問一個聚合物件中各個元素,而又不暴露該物件的內部表示。

職責鏈(Chain of Responsibility)

使多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係。將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,知道有一個對處理它為止。

中介者(Mediator)

用一箇中介者物件來封裝一系列的物件互動。中介者使各物件不需要顯示地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的關係

狀態(State)

當一個物件內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。

訪問者(Visitor)

表示一個作用於某物件結構中的個元素的操作。它使你可以在不改變各元素的類的前提下定義作用與這些元素的新操作。

一句話設計模式,不再迷路~

相關文章