工厂模式
意图
定义一个用于创建对象的接口看,让子类决定实例化哪一个类。
简单工厂
- 单个工厂,根据类型,创建不同的抽象对象的实现;
- 实例化对象,用工厂方法代替new操作;
工厂方法
- 将工厂类也抽象出来,生产什么样的产品由子类来决定;
适用性
类图
工厂方法
优缺点
简单工厂
-
优点:解耦:调用方不用负责对象的创建,只需要使用,明确各自的职责
-
缺点:违反开闭原则,添加新的实现,会改动工厂方法的内部实现;
工厂方法:
定义一个用于创建对象的接口看,让子类决定实例化哪一个类。
简单工厂
工厂方法
工厂方法
简单工厂
优点:解耦:调用方不用负责对象的创建,只需要使用,明确各自的职责
缺点:违反开闭原则,添加新的实现,会改动工厂方法的内部实现;
工厂方法: