目录
1.什么是简单工厂模式
简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。
2.优缺点
优点:
简化客户端创建消费对象的困难只专注消费。明确了各自的职责和权利,有利于整个软件体系结构的优化。
缺点:
违背了高内聚的责任分配原则,工厂集中了全部的创建逻辑,当工厂出现问题系统会崩溃。当有新的产品类型时,必须要修改工厂的创建逻辑。对系统的维护和扩展非常不利。
3.适用场景
工厂产品少,对如何创建产品不关心。
4.工厂模式的角色
1.抽象产品
public abstract class Profession {
/**
* Export occupation name 输出职业名称
*/
abstract void outDesc();
}
2.具体产品
public class Developer extends Profession {
@Override
public void outDesc() {
System.out.println("我是开发");
}
}
public class Tester extends Profession {
@Override
public void outDesc() {
System.out.println("我是测试人员");
}
}
3.工厂
public class ProfessionSimpleFactory {
public static Profession getProfession(int type) {
Profession profession = null;
switch (type) {
case 1:
profession = new Tester();
break;
case 2:
profession = new Developer();
break;
}
return profession;
}
}
4.工厂使用测试
public class ProfessionSimpleFactoryMain {
public static void main(String[] args) {
//打印用户职业消息
ProfessionSimpleFactory.getProfession(1).outDesc();
}
}
更多详细扩展代码:
gitlhub项目地址:https://github.com/foralllove/my-utils