简单工厂模式:选择实现

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

简单工厂定义及本质

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

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

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

(2)解耦

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

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

相关文章
|
14天前
|
Java
简单工厂模式
简单工厂模式
19 0
|
14天前
|
Java API 数据库
工厂方法模式
工厂方法模式
20 0
|
8月前
|
设计模式 C++
2023-6-10-第一式工厂方法模式
2023-6-10-第一式工厂方法模式
52 0
|
4月前
|
C#
C#简单工厂模式
C#简单工厂模式
51 0
|
6月前
|
编译器
简单工厂模式~
简单工厂模式~
|
7月前
浅谈简单工厂模式
浅谈简单工厂模式
|
7月前
浅谈工厂方法模式
浅谈工厂方法模式
|
8月前
|
前端开发
简单工厂模式
简单工厂模式
60 0
|
9月前
|
设计模式 算法 搜索推荐
工厂方法模式的两个极端
概念:是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。
|
9月前
|
设计模式
工厂方法模式详细介绍
工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种将对象的创建逻辑封装在工厂类中的方式,使得客户端代码无需直接依赖具体的类来创建对象。
75 0