參觀者模式主要對一組固定結構的物件進行訪問,一般和組合模式一起使用。
abstract class hardware
class mainboard extends hardware
} class memory extends hardware
} class display extends hardware(
void accept(icomputervisitor visitor)
} class networkadapter extends hardware
} class computer extends hardware[
private listparts = new arraylist();
public listadd(hardware hardware)
public void accept(icomputervisitor visitor)}}
inte***ce icomputervisitor
//遍歷computer的每個部件,彙總**
class pricevisitor implements icomputervisitor
void visitnetworkadapter(networkadapter adapter)
void visitdisplay(display display)
void visitmemory(memory memory)
} client:
computer computer = new computer();
mainboard mainboard = new mainboard();
networkadapter networkadapter = new networkadapter();
display display = new display();
memory memory = new memory();
computer .add(mainboad)
.add(networkadapter)
.add(display)
.add(memory);
icomputervisitor visitor = new pricevisitor();
visitor.accept(computer);
設計模式 外觀者模式
外觀模式 facade 也叫 過程模式 外觀模式為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用 外觀模式通過定義乙個一致的介面,用以遮蔽內部子系統的細節,使得呼叫端只需跟這個介面發生呼叫,而無需關心這個子系統的內部細節 外觀類 facade 為呼...
簡單工廠模式,工廠模式,抽象工廠模式
三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...
簡單工廠模式 工廠模式 抽象工廠模式
簡單工廠模式 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關類,對於客戶端來說,去除了與具體產品的依賴。但增加功能時,需增加 case 邏輯判斷分支條件,修改了原有的類,我們不但對擴充套件開發了,對修改也開放了,違背了開放 封閉原則。工廠方法模式,定義了乙...