设计模式总结链接
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。
一。简解
简单工厂模式顾名思义,一个简单个工厂((∩_∩)跟没说一样),事实上就是一个简单的工厂,根据用户需求生产不同的东西仅此而已。
二。用途
简单工厂模式主要是以一个工厂类对外工作,用户可根据需求,调用相应的生产方法,来生产不同的对象,实现程序和new 对象之间的解耦,避免了因对象更改而造成的大面积修改代码。
三。案例
根据需求传入参数,实现对不同对象的生产。
测试类
package zsl.简单工厂模式;
public class Main {
public static void main(String[] args) {
SimpleFactiory myFactiory = new SimpleFactiory();
System.out.println(myFactiory.productString("蔬菜"));
System.out.println(myFactiory.productString("米饭"));
System.out.println(myFactiory.productInteger("一"));
System.out.println(myFactiory.productInteger("五"));
}
}
工厂类
package zsl.简单工厂模式;
public class SimpleFactiory {
/**
* 此处以简单的String类型为例
*
* @param String
* @return
*/
public String productString(String inputStr) {
if (inputStr.equals("水果"))
return "生产的水果";
if (inputStr.equals("蔬菜"))
return "生产的蔬菜";
return "请输入正确需求";
}
public Integer productInteger(String inputStr) {
if (inputStr.equals("一"))
return 1;
if (inputStr.equals("二"))
return 2;
return 0;
}
}
四。优点
简单工厂模式比较简单,理解起来看很简单,实践起来也比较简单。
简单工厂模式,实现了创建和使用的解耦,很好的将程序模块化,增加了程序的可扩展性,满足面向对象的设计原则(开闭原则)。
五。不足
简单工厂模式还是太简单了,对于复杂的创建方式不太适合,只是进行了简单的逻辑判断就进行创建,在某些场景下不很适用。
工厂类集中了所以的创建逻辑,当有复杂的多层次等级结构时,所有的业务逻辑都在这个工厂类中实现,什么时候它不能工作了,整个系统都会受到影响(不要把鸡蛋放在一个篮子里)。