您的位置:首页 > 其它

设计模式-简单工厂设计模式

2016-10-05 19:26 197 查看
模式概述:专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类,简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,严格意义上来说不属于23种GOF设计模式之一,通常它根据自变量的不同返回不同的类的实例。

代码示例:

public class Audi extends Car {

public Audi() {
System.out.println("创造了台奥迪汽车");
}
}


public class BMW extends Car {

public BMW() {

System.out.println("创造了台宝马汽车");
}
}


工厂类部分:

public class FactoryCar {

//创造汽车的方法
public static Car createCar(String type){
if(type.equals("audi")){
return new Audi();
}else if(type.equals("bmw")){
return new BMW();
}
return null;
}

}


测试类部分及结果:



总结:实际上,这个Factory类有很多的局限。首先,我们每次想要增加一种新产品的时候,都必须修改Factory类的原代码。其次,当我们拥有很多很多产品的时候,而且产品之间又存在复杂的层次关系的时候,这个类必须拥有复杂的逻辑判断能力,其代码量也将不断地激增,很不利于后期的维护。并且,整个系统都严重依赖Factory类,只要Factory类一出问题,系统就进入不能工作的状态,这也是很严重的一点。

这些不足将在工厂模式的另外两种状态中得到解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: