工厂方法模式(Factory Method)

1

定义

  工厂方法模式(Factory Method):也属于创建型模式,是工厂模式的一种,定义了一个抽象产品类,也定义了一个抽象的工厂类。当需要创建某个产品时,也需要创建对应的工厂,通过某个工厂类的实现创建对应的产品。

代码实战

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
interface Pizza {
void bake();
}

interface Factory {
Pizza createPizza();
}

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 CheesePizzaFactory implements Factory {
@Override
public Pizza createPizza() {
return new CheesePizza();
}
}

class BeefPizzaFactory implements Factory {
@Override
public Pizza createPizza() {
return new BeefPizza();
}
}

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

Pizza beefPizza = new BeefPizzaFactory().createPizza();
beefPizza.bake();
}
}

类图

1

特点

  工厂模式的特点是创建抽象的产品类和工厂类,这样做的好处是对修改关闭,扩展开放。每次需要新增产品时,都新增工厂,不修改原有工厂的代码。

总结

  工厂方法模式也非常简单容易理解,就是把传入参数变成了实现不同的接口,通过不同的实现类创建产品,而不是通过不同的参数创建产品。

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