首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
物联网/工业互联网
›
物联网
›
「全网最细 + 实战源码案例」计划模式——抽象工厂模式 ...
返回列表
发新帖
「全网最细 + 实战源码案例」计划模式——抽象工厂模式
[复制链接]
发表于 2025-11-4 01:45:46
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
核心头脑
抽象工厂模式是一种创建型计划模式,它提供一个接口,用于创建一系列相干或相互依赖的对象,而无需指定它们的详细类。抽象工厂模式办理了产物族的题目,可以管理和创建一组相干的产物。
布局
1. 抽象工厂
界说创建一些列相干对象的接口。
2. 详细工厂
实现抽象工厂接口,负责实例化详细的产物对象。
3. 抽象产物
界说一类产物的接口。
4. 详细产物
实现抽象产物接口,提供详细产物的
功能
。
实用场景
1. 体系必要创建一系列相干或相互依赖的对象。
2. 体系的产物族固定,但产物种类常常变革。
3. 必要包管同一个工厂天生的产物族之间的兼容性。
优缺点
优点:
1.1. 分离接口和实现:客户端通过抽象工厂、抽象产物与详细工厂、详细产物解耦。
1.2. 产物族管理方便:包管同一产物族对象的同等性。
1.3. 扩展性好:支持新增详细工厂来扩展新的产物族。
缺点:
1.1. 产物族扩展困难:假如新增产物族,必要修改抽象工厂及全部详细工厂接口。
1.2. 复杂性增长:必要增长多个类,
代码
布局更复杂。
示例
1. 平凡版
2. 改进版——设置文件+反射
在改进版的抽象工厂模式中,我们通过
设置文件
和
反射机制
动态决定详细工厂的选择,镌汰客户端对详细工厂和详细产物的硬编码依赖,使体系更机动、更易扩展。
新增产物族示例
假如必要新增一个产物族(如 ChineseStyleFactory),只需:
新增详细咖啡类 Coffee3 和 甜品类Dessert3。
新增详细工厂类 ChineseStyleFactory实现 CoffeeDessertFactory。
修改设置文件 factory=com.colin.patterns.creational_patterns.config_abstract_factory.ChineseStyleFactory。
客户端
代码
完全不必要改动,体系即可使用新的产物族。
与其他模式的关系
在许多计划工作的初期都会使用工厂方法模式 (较为简朴, 而且可以更方便地通过子类举行定制), 随后演化为使用抽象工厂模式、 原型模式或天生器模式 (更机动但更加复杂)。
天生器重点关注怎样分步天生复杂对象。 抽象工厂专门用于生产一系列相干对象。
抽
象
工
厂
会立刻返回产物,
生
成
器
则答应你在获取产物前实行一些额外构造步调。
抽象工厂模式通常基于一组工厂方法, 但你也可以使用原型模式来天生这些类的方法。
当只需对客户端
代码
隐蔽子体系创建对象的方式时, 你可以使用抽象工厂来取代表面模式。
你可以将抽象工厂和桥接模式搭配使用。 假如由
桥
接
界说的抽象只能与特定实现互助, 这一模式搭配就非常有用。 在这种环境下,
抽
象
工
厂
可以对这些关系举行封装, 而且对客户端代码隐蔽其复杂性。
抽象工厂、 天生器和原型都可以用单例模式来实现。
回复
使用道具
举报
返回列表
浏览过的版块
分布式数据库
SQL-Server
Java
前端开发
种地
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表