Java中,工廠模式是一種常用的設計模式。工廠模式可以根據用戶的需求,創建不同類型的對象。Java中有兩種常用的工廠模式,分別是簡單工廠和工廠方法。
簡單工廠:簡單工廠也叫靜態工廠方法模式,它是通過一個工廠類來創建不同類型的對象,該工廠類通常使用靜態方法。簡單工廠的優點是簡單易懂,對用戶來說十分方便。但是它的缺點也很明顯,這種模式只適用于少量對象的創建,如果要擴展新的對象類型,需要修改工廠類的代碼。
public class SimpleFactory { public static Product createProduct(String type){ if("A".equals(type)){ return new ConcreteProductA(); }else if("B".equals(type)){ return new ConcreteProductB(); }else{ return null; } } }
工廠方法:工廠方法也叫多形性工廠模式,它是通過定義一個抽象工廠類和其子類來創建不同類型的對象,每個子類實現抽象工廠類中的工廠方法。工廠方法的優點是擴展性好,可以根據需要增加新的產品,只需要增加相應的子類就可以。但是它的缺點也很明顯,每增加一個產品,就需要增加一個對應的工廠子類。
public abstract class Factory { public abstract Product createProduct(); } public class ConcreteFactoryA extends Factory { public Product createProduct() { return new ConcreteProductA(); } } public class ConcreteFactoryB extends Factory { public Product createProduct() { return new ConcreteProductB(); } }
簡單工廠和工廠方法兩種模式都有各自的優點和缺點,具體的選擇需要根據實際情況來決定。雖然工廠模式對于生產對象這個簡單事情有點“為雞蛋老母搬一下磚”的感覺,但是在實際開發中,工廠模式可以大量減少代碼的重復,提高程序的擴展性。
上一篇php json 訪問
下一篇python畫圖線條類型