简单工厂模式:选择实现

简介: 简单工厂模式的本质是选择实现类

简单工厂定义及本质

定义:提供一个创建对象实例的功能,而无须关心具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。
本质:选择合适的实现类。
结构示意图:

image.png
UML类图
image.png
调用时序图
image.png
优缺点
关于接口:
(1)接口定义:接口是一种特殊的抽象类,接口所有方法都是抽象方法,所有属性都是常量,没有任何方法实现。
(2)接口作用:接口用来定义实现类的外观,即实现类的行为定义,用来约束实现类的行为。
(3)接口思想:“封装隔离”,“接口是系统可插拔的保证”。
(4)接口与抽象类的选择:应优先选用接口;即要定义子类的行为,又要为子类提供公共功能时应选用抽象类。
工厂是跟接口与实现类在一起的,它处于封装体内部,与知道实现类没有关系。
工厂模式优点:
(1)封装隔离

    封装:指“对被隔离体的行为封装”或“对被隔离体的职责的封装”;
    隔离:指外部调用和内部实现,即外部调用只能通过接口进行调用,而不需知道内部具体实现;

(2)解耦

    实现了客户端和具体实现类的解耦。客户端通过工厂获取所需要的接口对象。

工厂模式缺点:
(1)增加客户端的复杂度:客户端需要知道工厂所提供的参数代表的具体功能和含义;
(2)不便于扩展子工厂:工厂类私有化了构造方法,只通过静态方法创建接口,不能再通过写子类改变接口的方法行为。

相关文章
|
3月前
|
Java
简单工厂模式
简单工厂模式
31 0
|
5天前
|
设计模式 uml
工厂模式中简单工厂模式、工厂方法模式、抽象工厂模式的分析与总结
工厂模式中简单工厂模式、工厂方法模式、抽象工厂模式的分析与总结
|
设计模式 C++
2023-6-10-第一式工厂方法模式
2023-6-10-第一式工厂方法模式
71 0
|
3月前
|
C#
C#简单工厂模式
C#简单工厂模式
76 0
|
10月前
|
编译器
简单工厂模式~
简单工厂模式~
|
11月前
浅谈简单工厂模式
浅谈简单工厂模式
|
前端开发
简单工厂模式
简单工厂模式
72 0
|
设计模式 算法 搜索推荐
工厂方法模式的两个极端
概念:是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。
|
设计模式 关系型数据库 程序员
简单工厂模式、工厂模式、抽象工厂模式
简单工厂模式、工厂模式、抽象工厂模式
123 2
简单工厂模式、工厂模式、抽象工厂模式
简单的工厂模式和工厂方法模式
简单的工厂模式和工厂方法模式