生成器模式:分离整体构建算法和部件构造

简介: 生成器模式的本质在于分离整体构建算法和部件构造

场景分析(如图)
image.png

定义及本质

定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
本质:分离整体构建算法和部件构造。重在解决构造复杂对象的问题。
结构示意图:

image.png
Director:指导者,负责把构建过程独立出来,并指导装配过程,实现整体构建算法,但不负责具体的实现,因而是相对不变的;而是将创建和组合具体部件通过委托交给Builder完成。
Builder:生成器接口,定义各个部件的操作。
ConcreteBuilder:生成器,负责具体的实现,实现各个部件的创建、组装,最终提供可获取组装完成后的产品对象的方法。
Builder模式包括两部分:一部分是部件构造和产品装配,另一部分是整体构建算法。主要强调是整体构建的算法,而灵活扩展和切换部件的具体构造和产品装配的方式。

UML类图
image.png

调用时序图
image.png

优缺点
(1)松散耦合、复用性

    生成器模式使用统一的构建算法实现产品构建和产品表现上分离,将产品构建过程独立出来,使它和具体产品的表现松耦合;Director是统一的、固定不变的,这使得构建算法可以复用。

(2)容易改变产品内部表示

    具体生成器实现部分是可变的,如需改变产品的内部表示,只需要切换Builder的具体实现即可。

(3)生成器模式的重心在于分离整体构建算法(Director)和部件构造(ConcreteBuilder),分步骤构建对象可以说是整体构建算法的一个简单表现,或者说是一个附带物。

相关文章
|
2月前
|
算法
使用k-近邻算法构建手写识别系统(kNN)
使用k-近邻算法构建手写识别系统(kNN)
32 9
|
2月前
|
算法 前端开发 Java
探讨Java中递归构建树形结构的算法
探讨Java中递归构建树形结构的算法
24 1
|
1月前
|
算法 搜索推荐
推荐系统,推荐算法01,是首页频道推荐,一个是文章相似结果推荐,用户物品画像构建就是用户喜欢看什么样的文章,打标签,文章画像就是有那些重要的词,用权重和向量表示,推荐架构和业务流
推荐系统,推荐算法01,是首页频道推荐,一个是文章相似结果推荐,用户物品画像构建就是用户喜欢看什么样的文章,打标签,文章画像就是有那些重要的词,用权重和向量表示,推荐架构和业务流
|
3月前
|
机器学习/深度学习 运维 算法
[ICDE2024]多正常模式感知的频域异常检测算法MACE
阿里云计算平台大数据基础工程技术团队主导,与浙江大学合作的论文《Learning Multi-Pattern Normalities in the Frequency Domain for Efficient Time Series Anomaly Detection》被ICDE2024收录,该论文解决了云服务环境中不同服务存在不同正常模式,而传统神经网络一个训练好的模型只能较好捕捉一种或少数几种正常模式的问题,该论文提出的方法可以使用一个统一模型对不同服务进行检测,就达到比为每一个服务定制一个模型的SOTA方法更好的效果。
|
2月前
|
机器学习/深度学习 算法 数据采集
构建一个基于机器学习的交易算法
【6月更文挑战第2天】本文探讨了如何构建基于机器学习的交易算法,关键步骤包括数据收集与预处理、特征选择、模型选择与训练、评估与优化,以及回测与实盘交易。挑战涉及数据质量、过拟合与欠拟合、市场变化与模型适应性。通过结合金融知识与机器学习技术,可创建智能交易系统,但需不断更新优化以应对市场动态。
|
2月前
|
存储 算法 NoSQL
数据结构和算法——哈希查找冲突处理方法(开放地址法-线性探测、平方探测、双散列探测、再散列,分离链接法)
数据结构和算法——哈希查找冲突处理方法(开放地址法-线性探测、平方探测、双散列探测、再散列,分离链接法)
54 1
|
2月前
|
机器学习/深度学习 数据采集 算法
基于机器学习的推荐算法构建技术详解
【6月更文挑战第4天】本文详述了构建基于机器学习的推荐算法,特别是协同过滤方法。从用户和物品相似性的角度,解释了用户-用户和物品-物品协同过滤的工作原理。涵盖了数据准备、预处理、特征工程、模型训练、评估优化及结果展示的构建流程。推荐算法在电商、视频和音乐平台广泛应用,未来将受益于大数据和AI技术的进步,提供更智能的推荐服务。
|
2月前
|
存储 算法
数据结构和算法——散列表的性能分析(开放地址法的查找性能、期望探测次数与装填因子的关系、分离链接法的查找性能)
数据结构和算法——散列表的性能分析(开放地址法的查找性能、期望探测次数与装填因子的关系、分离链接法的查找性能)
29 0
|
3月前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据处理到算法优化
【4月更文挑战第28天】在数据驱动的时代,构建一个高效的机器学习模型是实现智能决策和预测的关键。本文将深入探讨如何通过精确的数据预处理、选择合适的学习算法以及进行细致的参数调优来提升模型的性能。我们将介绍一系列实用的技术和策略,包括特征工程、模型评估、超参数调整以及使用集成学习方法来增强模型的泛化能力。通过这些方法,读者将能够更好地理解并应用机器学习技术来解决实际问题。
|
3月前
|
存储 算法
数据结构与算法⑪(第四章_中)堆的分步构建
数据结构与算法⑪(第四章_中)堆的分步构建
25 0

热门文章

最新文章