简单工厂模式
来源:互联网 发布:好牧人12网络牧养中心 编辑:程序博客网 时间:2024/05/17 21:46
简述
简单工厂模式(Simple Factory Pattern)又叫做静态工厂方法模式(Static Factory Method Pattern),属于创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例。
值得注意的是,简单工厂模式并不属于 23 种 GoF 设计模式之一。它是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
模式结构
UML 结构图:
- 工厂(Factory):整个模式的核心,负责实现创建所有实例的内部逻辑。
- 抽象产品(Product):所有具体产品的父类,负责描述所有实例所共有的公共接口。
- 具体产品(ConcreteProduct):最终创建的具体产品
优缺点
优点:
- 工厂类包含了必要的逻辑判断,根据指定的信息来创建对应的产品。客户端仅负责“消费”产品即可,实现了对象创建和使用的分离。
- 客户端无需关心具体产品如何创建与组织,仅需知道具体产品所对应的参数即可,可以在一定程度减少使用者的记忆量。
缺点:
- 由于工厂类集中了所有产品的创建逻辑(违反了高内聚责任分配原则),职责过重,一旦无法正常工作,整个系统都将受到影响。
- 一旦添加新产品就不得不修改工厂逻辑,在产品类型较多时,有可能造成工厂逻辑过于复杂,不利于系统的扩展和维护。
这些缺点在 C++工厂方法模式 中得到了一定的克服。
适用场景
- 工厂类负责创建的对象比较少(不会造成工厂方法中的业务逻辑太过复杂)。
- 客户端仅需知道传入工厂类的参数,对于如何创建对象(逻辑)不关心。
PS: 由于简单工厂很容易违反高内聚责任分配原则,因此一般只在很简单的情况下应用。
阅读全文
0 0
- 工厂模式-简单工厂
- 工厂模式-简单工厂
- 工厂模式-简单工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 简单工厂和工厂模式
- 简单工厂和工厂模式
- 1,工厂模式--简单工厂
- 简单工厂和工厂模式
- 简单工厂,工厂模式,抽象工厂
- 简单工厂,工厂模式,抽象工厂
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂模式和抽象工厂
- Python所涉及领域
- 选择虚拟主机还是服务器对网站排名有什么样的影响?
- CSS基础-背景和精灵图 13
- @RestController与@Controller区别
- Java
- 简单工厂模式
- java 中的值传递,与引用传递
- 03.20 Linux文件属性
- 大数问题-打印1到最大的n位数
- Java多线程系列--“基础篇”07之 线程休眠
- using ctags and cscope in vim
- 应用scikit-learn做文本分类
- tensorflow机器学习之利用CNN卷积神经网络进行面部表情识别的实例代码
- Python所用的公司