简单工厂模式:又叫做静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类的实例。
需要注意的是:简单工厂模式属于创建型模式,但不属于23种GOF设计模式之一
该模式主要有以下几个模块构成:
具体说明结合代码,如下:
代码中主要是有一个cake接父类,两个实现类,一个工厂类
cake:父类。
/**
* 蛋糕类
*/
public class Cake {
}
两个实现类:
/**
* 苹果蛋糕
*/
public class AppleCake extends Cake{
public AppleCake(){
System.out.println("创建了苹果蛋糕实例");
}
}
public class BananaCake extends Cake{
public BananaCake(){
System.out.println("创建了香蕉蛋糕实例");
}
}
factory:该类提供对外调用的方法,方法中判断具体创建哪一个对象。
/**
* 蛋糕工厂
*/
public class CakeFactory {
public Cake createCake(String type){
if("apple".equals(type)){
return new AppleCake();
}else if("banana".equals(type)){
return new BananaCake();
}else {
return null;
}
}
}
该设计模式的优点显而易见:只要传入正确的参数,就能创建对象,不需要关心怎么创建的文章来源:https://www.toymoban.com/news/detail-545826.html
但缺点也很明显:如果我要创建一个新的对象,比如:巧克力蛋糕,就需要在factory类的createCake方法中添加一段代码。违反了开闭原则(一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)
)。文章来源地址https://www.toymoban.com/news/detail-545826.html
到了这里,关于设计模式(二)、工厂模式--简单工厂模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!