简单工厂模式(Simple Factory)

1

定义

  简单工厂模式(Simple Factory):属于创建型模式,是工厂模式的一种,但是不算在GOF23种设计模式之内,更像是一种编程习惯和方法。通过参数的不同返回不同类的实例,这些实例继承自同一个父类或者实现同一个接口。

代码实战

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
interface Pizza {
int TYPE_CHEESE = 0;

int TYPE_BEEF = 1;

void bake();
}

class CheesePizza implements Pizza{
@Override
public void bake() {
System.out.println("add cheese to bake");
}
}

class BeefPizza implements Pizza{
@Override
public void bake() {
System.out.println("add beef to bake");
}
}

class PizzaFactory {
public static Pizza createPizza(int type) {
Pizza pizza;
switch (type) {
case Pizza.TYPE_CHEESE:
pizza = new CheesePizza();
break;
case Pizza.TYPE_BEEF:
pizza = new BeefPizza();
break;
default:
pizza = null;
break;
}
return pizza;
}
}

class Test {
public static void main(String[] args) {
Pizza cheesePizza = PizzaFactory.createPizza(Pizza.TYPE_CHEESE);
cheesePizza.bake();

Pizza beefPizza = PizzaFactory.createPizza(Pizza.TYPE_BEEF);
beefPizza.bake();
}
}

类图

1

特点

  简单工厂模式通过参数的区分创建具体的产品,但是缺点也很明显,不符合开闭原则,如果需要新增产品,需要修改工厂类,添加产品。

总结

  简单工厂模式顾名思义,非常简单容易理解,虽然不算在23种设计模式之内,但是也非常重要,希望小伙伴们都能够掌握它。

-------------本文结束感谢您的阅读-------------
0%