标签:
第二种方式:
package com.dy.xidian; public class CarFactory { public static Car createAuDi(){ return new AuDi(); } public static Car createBiYaDi(){ return new BiYaDi(); } }
简单工厂中没添加一个新的类就需要去修改原有的工厂代码,这样的有点不好维护。
为每个具体的类都定义了一个具体的工厂类,当我们有新的类时,只需要增加该类以及其工厂类就可以了。
抽象工厂类:
package com.dy.xidian; public interface CarFactory { public Car createCar(); }
具体工厂类:
package com.dy.xidian; public class AuDiFactory implements CarFactory { @Override public Car createCar() { return new Audi(); } }
调用方式:
public class Client{ Car AuDi = new AuDiFactory.createCar(); }
如果需要曾加一个大众,那么只需要增加两个类文件DaZhong.java以及DaZhongFactory.java就可以了。但是这样也有个问题,就是每次都要增加两个文件,当类的数量庞大的时候也不好管理,所以一般情况下选用简单工厂模式。
标签:
原文地址:http://www.cnblogs.com/xidongyu/p/5622690.html