包含要素: Vistor:抽象訪問者晒哄,為每一個element元素聲明一個方法 ConcreteVistor:具體訪問者 Element:抽象元素...
包含要素: AbstractClass:抽象類,規(guī)定模板 ConcreteClass:具體實現(xiàn)類缰贝,實現(xiàn)模板中的具體實現(xiàn)步驟 示例demo:我們外...
包含要素: Context:封裝對策略的調(diào)用 Strategy:抽象策略 ConcreteStrategy:具體策略 示例demo:我們現(xiàn)在買東...
使用場景:狀態(tài)和行為比較復(fù)雜時,為了避免大量if else筐钟,可以使用狀態(tài)模式揩瞪。 包含要素: Context:環(huán)境類,包含一些內(nèi)部狀態(tài) State...
觀察者模式也被稱為發(fā)布-訂閱模式 包含要素: Subject:目標(biāo) Observer:觀察者 ConcreteSubject:具體目標(biāo)篓冲,維護觀察...
使用場景:可以使系統(tǒng)恢復(fù)到某一特定的歷史狀態(tài) 包含要素: Originator:原發(fā)器李破,創(chuàng)建一個備忘錄。 Memento:備忘錄壹将,用于存儲Ori...
使用場景:如果一個類調(diào)用另一個類中的方法嗤攻,可以通過第三方轉(zhuǎn)發(fā)這個調(diào)用,在復(fù)雜系統(tǒng)中诽俯,使用中介者模式妇菱,可以減少對象之間的聯(lián)系,降低耦合暴区。 包含角色...
使用場景:現(xiàn)在集合中已經(jīng)提供了迭代器闯团,所以一般不需要自己開發(fā)。 包含角色: Iterator:抽象迭代器 ConcreteIterator:具體...
應(yīng)用場景:根據(jù)規(guī)定語法進行解析(解釋器模式用的比較少)仙粱。 包含要素: AbstractExpression:抽象表達式 TerminalExpr...