package com.fsti.factory.factorymethod;
public inte***ce output
package com.fsti.factory.factorymethod;
public class printer implements output else
} public void out()
}}
package com.fsti.factory.factorymethod;
public class betterprinter implements output else
} public void out()
}}
package com.fsti.factory.factorymethod;
public inte***ce outputfactory
package com.fsti.factory.factorymethod;
public class betterprinte***ctory implements outputfactory
}
package com.fsti.factory.factorymethod;
public class printe***ctory implements outputfactory
}
package com.fsti.factory.factorymethod;
public class computer
public void keyin(string str)
public void print()
public static void main(string args) else
computer c = new computer(of.getoutput());
c.keyin("工廠模式之");
c.keyin("工廠方法模式");
c.print();
}}
採用工廠方法設計的架構,客戶端**成功是與被呼叫物件的實現類分類,但帶來了另一種耦合:客戶端**與不同的工廠類耦合。
Java設計模式 工廠方法模式
定義乙個用於建立物件的介面,讓子類決定將哪乙個類例項化。factory method 使乙個類的例項化延遲到其子類。package car inte ce public inte ce icar inte ce package car imple import car inte ce.icar in...
Java設計模式 工廠方法模式
工廠方法模式應用背景 客戶類不關心使用哪個具體的類,只關心介面所提供的功能。建立過程比較複雜,例如需要初始化其他關聯的資源類。介面或者抽象類有許多實現類,客戶 需要編寫大量if else邏輯來決定執行時使用哪個具體的實現類。不希望給客戶程式暴露太多的類的內部結構,這樣做可以降低耦合度。優化效能,比如...
java設計模式 工廠方法模式
簡單工廠模式的應用就是用來建立乙個物件,簡單工廠模式是將所有物件的初始化集於乙個具體的工廠類來實現,這個工廠類負責所有產品的建立,但是這種建立只能建立單一的產品,如簡單工廠模式裡的chickenfactory這種工廠只能生產雞肉這個系列的產品,而當需求發生變化時簡單工廠模式就無法應對了。例如 我再一...