產品類介面
public inte***ce product
具體產品類a
public class producta implements product
}
具體產品類b
public class productb implements product
}
簡單工廠類
public class ******factory else if("productb".equals(name))
return null; }
public static void main(string args)
}
工廠方法介面
public inte***ce factorymethod
具體工廠方法實現類a
public class factorymethoda implements factorymethod
}
具體工廠方法實現類b
public class factorymethodb implements factorymethod
}
public class factorymethodtest
}
另外產品族的產品1介面
public inte***ce product1
具體的產品1a
public class product1a implements product1
}
具體的產品1b
public class product1b implements product1
}
抽象工廠介面,介面中有獲取不同的產品族產品方法;
public inte***ce abstractfactory
抽象工廠實現類01,用來生產產品族producta產品跟產品族product1a
public class abstractfactoryimpl01 implements abstractfactory
@override
public product1 getproduct1()
}
抽象工廠實現類02,用來生產產品族productb產品跟產品族product1a
public class abstractfactoryimpl02 implements abstractfactory
@override
public product1 getproduct1()
}
抽象工廠實現類03,用來生產產品族producta產品跟產品族product1b
public class abstractfactoryimpl03 implements abstractfactory
@override
public product1 getproduct1()
}
抽象工廠實現類04,用來生產產品族productb產品跟產品族product1b產品
public class abstractfactoryimpl04 implements abstractfactory
@override
public product1 getproduct1()
}
抽象工廠測試類
public class abstractfactorytest
}
可參考
簡單工廠模式:根據傳遞的引數判斷例項化哪個類;優點:將例項化物件跟適用物件解耦,缺點:增加新產品就得修改邏輯;
工廠方法模式:抽象出來同乙個產品族的介面,介面中包含乙個抽象的例項化方法,然後子類實現這個介面然後實現具體的例項化方法;優點:克服簡單工廠的缺點,新增產品,擴充套件新子類實現介面即可,缺點:不易於維護,當產品類修改了,其工廠類也得修改;
抽象工廠模式:抽象出來不同產品族的介面,介面中包含抽象的多個不同產品族的例項化方法;優點:可以控制產品系列,有利於產品一致性,缺點:新增乙個產品族很困難
Java之工廠模式
實現 如下 定義乙個實現的介面 inte ce fruits實現介面1 public void eat 實現介面2 public class pear implements fruits 如果想要例項化的時候,如果採用new的方法,需要乙個乙個的例項化,有著較大的耦合度,故採用工廠模式實現 publ...
java設計模式之工廠模式
工廠模式是一種經常被使用到的模式,根據工廠模式實現的類可以根據提供的資料生成一組類中某乙個類的例項,通常這一組類有乙個公共的抽象父類或者是介面並且實現了相同的方法,但是這些方法針對不同的資料進行了不同的操作。首先需要定義乙個父類或者介面,該類的子類通過不同的方法實現了父類中的方法。然後需要定義乙個工...
java設計模式之工廠模式
1 只要方法裡面控制產生物件的方法,就可稱為工廠相關方法。2 單例 多例。3 簡單工廠 例子 交通工具 多種交通工具 多種交通工具不同的生產過程 4 介面抽象類使用 一般乙個特性使用介面 會飛的 大概能定義為乙個物體使用抽象類 由於類的多繼承性,建議多用介面。5 抽象工廠 換掉一些列的產品,擴充套件...