梦想还是要有的,万一忘了咋办?

0%

工厂模式

概览

工厂模式是 创建型模式,可以分2大类:工厂方法模式、抽象工厂模式。工厂方法模式又可以分为:简单工厂模式、工厂方法模式。

分类

  • 工厂方法模式
    • 简单工厂模式
    • 工厂方法模式
  • 抽象工厂模式

演进

upload successful

简单工厂模式

类图

upload successful

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class ShapeFactory {
public static enum ShapeType {
CIRCLE_T, RECTANGLE_T, SQUARE_T;

}
public static Shape getShape(ShapeType shapeType) {
if (shapeType == null) {
return null;
}
if (shapeType == ShapeType.CIRCLE_T) {
return new Circle();
} else if (shapeType == ShapeType.RECTANGLE_T) {
return new Rectangle();
} else if (shapeType == ShapeType.SQUARE_T) {
return new Square();
}
return null;
}
}

工厂方法模式

定义一个创建对象的接口,让子类决定实例化那个类。

角色

  • 抽象工厂(Creator)角色
  • 具体工厂(Concrete Creator) 角色
  • 抽象产品 (Product) 角色
  • 具体产品(Concrete Product)角色

类图

upload successful

抽象工厂模式

为创建一组相关或者互相依赖的对象提供一个接口,而且无须指定它们的具体类。

角色

  • 抽象工厂(Creator)角色
  • 具体工厂(Concrete Creator) 角色
  • 抽象产品 (Product) 角色
  • 具体产品(Concrete Product)角色

类图

upload successful