定义简介
- 分类:从设计模式的类型划分,简单工厂模式属于创建型设计模式,又叫做静态工厂方法模式,属于工厂模式家族一个特例,但是不属于23种设计模式。
- 定义:简单工厂模式是一个工厂对象创建一个具体的抽象产品的实例。
- 类图:
代码分析
1. 抽象产品类
public interface IComputer {
void create();
}
2. 具体产品类
- 产品类1
public class AsusCom implements IComputer{
@Override
public void create() {
System.out.println("asus is coming...");
}
}
- 产品类2
public class DellCom implements IComputer {
@Override
public void create() {
System.out.println("dell is coming...");
}
}
- 产品类3
public class MackProCom implements IComputer {
@Override
public void create() {
System.out.println("mack pro is coming");
}
}
3. 工厂类
- 由工厂类创建指定的具体的产品类实例
public class Factory {
public static IComputer createProduct(String str) {
if (str == null || "".equals(str)){
return null;
}else if (str.equals("asus")){
return new AsusCom();
}else if (str.equals("dell")){
return new DellCom();
}else if (str.equals("pro")){
return new MackProCom();
}
return null;
}
}
4. 客户端调用
- 传入字符串参数指定创建具体产品的分类
public class Client {
public static void main(String[] args) {
IComputer computer = Factory.createProduct("asus");
computer.create();
IComputer computer1 = Factory.createProduct("pro");
computer1.create();
}
}
总结
简单工厂方法设计模式组成
1. IComputer(interface/abstract)
2. Dell || Asus || MackPro(subClass)
3. Factory(工厂类根据传入的参数创建具体的实例)