工厂模式

简单工厂模式

简单工厂模式不属于23种设计模式,指的是由一个工厂对象决定创建出哪一种产品类的实例

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
// 接口
public interface NBAPlayer {
void getName();
}

// 实现类1
public class KobeBryant implements NBAPlayer {
@Override
public void getName() {
System.out.println("Kobe");
}
}

// 工厂类
public class NBAFactory {
public NBAPlayer getNBAPlayer(String name) {
if("Kobe".equals(name)) {
return new KobeBryant();
} else if("LeBron".equals(name)) {
return new LeBronJames();
}
return null;
}
}

// 主方法
public class Main {
public static void main(String[] args) {
NBAFactory factory = new NBAFactory(); // 创建工厂类
NBAPlayer player = factory.getNBAPlayer("Kobe"); // 通过工厂类创建主方法
player.getName(); // 调用对应成员方法 Kobe
}
}

工厂类职责过重,创建新的类时需要修改工厂类的判断逻辑,违背开闭原则

工厂模式

类的个数容易过多,增加复杂度,增加了系统的抽象性和理解难度

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2019-2021 子夜
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信