包含要素: 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ī)定語法進(jìn)行解析(解釋器模式用的比較少)勒葱。 包含要素: AbstractExpression:抽象表達(dá)式 TerminalExpr...