java简单工厂模式实例,java设计模式之工厂模式
00-1010工厂方法模式创建的简要说明步骤1步骤2步骤3步骤4步骤5
00-1010和工厂方法模式基本相同,只是工厂是抽象的,需要具体的工厂来实现,然后用工厂来生产产品。这种模式的原因是工厂方法模式不符合OCP原则,添加新产品需要向现有类添加代码。
而使用工厂方法模式,当需要一个新的产品时,需要创建两个类,具体的产品类实现产品接口,具体的工厂类实现工厂接口,满足OCP原理。但是每增加一个产品都需要增加两个类,导致类的数量很大。
目录
00-1010创建产品界面
包com . ly . factory . factory method;/* * * Car中run方法的抽象* liyang 2020-07-10**其他常见的特征方法也可以放入Car接口*具体的Audi等对应方法实现CAR */public接口Car { void run();}
00-1010创建产品的实体类别
包com . ly . factory . factory method;类Audi实现Car { @ override public void run(){ system . out . println(奥迪在飞);} }包com . ly . factory . factory method;类Benz实现Car { @ override public void run(){ system . out . println(奔驰超速);} }包com . ly . factory . factory method;类比亚迪实现Car { @ override public void run(){ system . out . println(比亚迪在飞);}}
00-1010创建抽象工厂类
包com . ly . factory . factory method;/* * *具有抽象createCar方法的抽象工厂* liyang 2020-07-10*具体的AudiFactory类实现car factory */公共接口car factory { carcreatecar();}
00-1010创建抽象工厂的具体实现工厂
包com . ly . factory . factory method;公共类AudiFactory实现Car factory { @ Override public Car create Car(){ return new Audi();} }包com . ly . factory . factory method;公共类BenzFactory实现Car factory { @ Override public Car create Car(){ return new Benz();} }包com . ly . factory . factory method;public类BydFactory实现Car factory { @ Override public Car create Car(){ return new Byd();}}
00-1010测试使用上面的工厂创建产品,先创建一个响应工厂,然后使用工厂创建产品。
包com . ly . factory . factory method;/* * *工厂方法模式的客户端测试* liyang 2020-07-10**添加一个特定的Car类,比如Benz类,来实现Car接口*你需要添加一个特定的BenzFactory来实现CarFactory*通过添加一个新的类来扩展功能,不需要修改原代码*因此,它符合OCP原理,但是会增加很多类。班级爆炸?*所以在一般开发中,建议使用simpleFactory模式* */public class client { public static void main(string[]args){ car C1=newaudifactory()。create car();车c2=新BenzFactory()。create car();汽车c3=新BydFactory()。create car();C1 . run();C2 . run();C3 . run();}}结果:
奥迪驰骋奔驰驰骋比亚迪驰骋流程用退出代码0完成
以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。