简单工厂模式:选择实现

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

简单工厂定义及本质

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

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

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

(2)解耦

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

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

相关文章
|
16天前
|
设计模式 C# 数据库
简单工厂模式详解
简单工厂模式是一种创建型设计模式,通过工厂类决定实例化哪个具体类,降低客户端与具体类之间的耦合。其特点是封装实例化逻辑,但扩展性较弱,增加新产品需修改工厂类代码。适用于客户端需要创建不同种类的对象但不关心具体实现的场景,如日志处理、图形对象创建和支付系统等。示例代码包括 C++ 和 C# 实现。
30 3
|
8月前
|
Java
简单工厂模式
简单工厂模式
42 0
|
设计模式 C++
2023-6-10-第一式工厂方法模式
2023-6-10-第一式工厂方法模式
90 0
|
8月前
|
C#
C#简单工厂模式
C#简单工厂模式
99 0
|
编译器
简单工厂模式~
简单工厂模式~
|
前端开发
简单工厂模式
简单工厂模式
88 0
|
设计模式 监控 uml
剖析工厂方法模式、从开电脑店开始
工厂类负责把实例化类时,复杂的过程透明化,同时避免大量实例化类的重复代码的出现。
剖析工厂方法模式、从开电脑店开始
|
设计模式 算法 搜索推荐
工厂方法模式的两个极端
概念:是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。