创建模式之工厂模式二

来源:互联网 发布:手机如何开淘宝店铺 编辑:程序博客网 时间:2024/05/18 03:32

上面已经介绍了简单工厂,也介绍了简单工厂的缺点,接下来介绍的是工厂方法

package com.djk.design.factory.factorymethod;public class Client{public static void main(String[] args) {AbstractFactory factory = new CarFactory();say(factory);factory = new BusFactory();say(factory);}public static void say(AbstractFactory factory){if (null == factory){return ;}Product product = factory.createProduct();if (null == product){return ;}product.say();}}

package com.djk.design.factory.factorymethod;public interface AbstractFactory {Product createProduct();}

package com.djk.design.factory.factorymethod;public class CarFactory implements AbstractFactory{@Overridepublic Product createProduct(){return new Car();}}

package com.djk.design.factory.factorymethod;public class CarFactory implements AbstractFactory{@Overridepublic Product createProduct(){return new Car();}}

package com.djk.design.factory.factorymethod;public class CarFactory implements AbstractFactory{@Overridepublic Product createProduct(){return new Car();}}

package com.djk.design.factory.factorymethod;public class CarFactory implements AbstractFactory{@Overridepublic Product createProduct(){return new Car();}}

package com.djk.design.factory.factorymethod;public class Bus implements Product{@Overridepublic void say(){System.out.println("i am a bus");}}

从工厂方法列子可以看出,我们抽象出来了工厂类,具体的产品延时到了抽象工厂类的子类中去创建了,后续如果增加了同一类型的产品,则只需要提供一个抽象工厂的实现类即可。

0 0
原创粉丝点击