标签00标签001标签02标签03标签04标签05
工厂模式
工厂顾名思义就是创建产品,本质就是用工厂的方法代替new操作创建一种实例化对象的方式。根据不同的实现方式和抽象级别又分为:简单工厂,工厂方法,抽象工厂三种。
案例
需求
封装一个SqlHelper类,实现对SqlServer的操作,且后续可能需要同时支持SqlServer,MySql,Oracle等主流数据库。
UML类图
简单工厂
定义
简单工厂又叫做静态工厂方法模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。
UML类图
优缺点
- 优点
- 实现了对责任的分割,隔离了变化,因为它提供了专门的工厂类用于创建对象。
- 通过配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性。
缺点
优点: 符合设计原则
-
抽象工厂
扩展功能-参数化查询
问题
优点
- 对产品族进行约束,封装性好
- 缺点
- 产品族扩展困难,添加一个产品需要修改抽象和具体工厂类,违背开闭原则。
- 本文作者:GeekPower - Felix Sun
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!