建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用的场景:1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2、当构造过程必须允许被构造的对象有不同的表示时。
建造者模式中三个重要的角色:
1、Product (生产者):该角色其实类似于工厂里的流水线,它可以生产各种各样的组件,但是并不知道怎样将这些组件进行组装,进而产生出不同的产品。
2、Builder(建造者):该角色类似流水线上的操作工人,它负责将不同的流水线上生产出的不同零件或组件,按照(领导Director)特定要求组装成特定的产品,并给Director提供一个build方法,让其随时可以取走已经组装好的产品。
3, C o n c r e t e B u i l d e r
— 实现B u i l d e r的接口以构造和装配该产品的各个部件。
— 定义并明确它所创建的表示。
— 提供一个检索产品的接口
4、Director(指挥者或者领导):该角色主要根据不同客户的需求,调用不同的Builder对象来组装出特定的产品,提供给客户使用。
分享到:
相关推荐
在 C#中的委托和事件 一文的后半部分,我向大家讲述了Observer(观察者)模式,并使用委托和事件实现了这个模式。实际上,不使用委托和事件,一样可以实现Observer模式。在本文中,我将使用GOF的经典方式,再次实现一...
重温微积分 - 齐民友
根据共形场理论的最新结果,我们将重新讨论由Kehrein,Pismak和Wegner获得的Wilson-Fisher不动点的ε扩张算子。 我们的方法是代数的,仅基于对称原理。 我们分析的出发点是,对扩张算子的第一次校正是保形不变性,这...
重温 Iso-Recursive 子类型化(工件)抽象的这个包包含与论文“Revisiting Iso-Recursive Subtyping”相关的 Coq 公式。 本文档解释了如何运行 Coq 公式。入门我们强烈建议您通过opam2安装 Coq 证明助手。 安装 (>=...
本人深圳安卓开发程序猿一枚,希望能一起...最近重温了一下java的设计模式,练练手,java设计模式有23种,写了12种常用的设计模式,一些觉得用不上就没写,水平有限,有问题欢迎留言一起加油email:674928145@qq.com!
齐民优经典微积分教程,打开新世界的大门!!相对于枯燥无味的高数教材,这本书能带来不一样的启发和更为深入地理解
这一次重温一下《JavaScript设计模式与开发实践》,开篇为单例模式。 /** * pre 单例模式 * 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 * 应用:单例模式是一种常用的模式,有一些对象我们...
第1章 介绍1.1 对模式的十大误解1.2 观察第2章 运用模式进行设计2.1 基础2.2 孤儿、孤儿的收养以及代用品2.3 “但是应该如何引入代用品呢?”2.4 访问权限2.5 关于VISITOR的一些警告2.6 单用户文件系统的保护2.7 多...
经典重温C#开发------------------------------------------------------------------------------------------------------------------------------------------------
由 Hiemstra 和 Jones 开发的著名的 Hiemstra-Jones 检验(HJ 检验)在研究非线性因果关系方面发挥了重要作用。 在过去的二十年里,有许多基于这项开创性工作的应用和理论扩展。 然而,有几项工作指出,HJ 测试得到...
专题研究:重温“信贷脉冲”-0217-浙商证券-11页.pdf
20190407-国泰君安-通信设备及服务行业:重温传统视频会议的三生三世,揭示云视频行业的十里桃花.pdf
恐龙来袭-重温侏罗纪.ppt
PPT模板-重温春夏秋冬(动态.dpt
重温计算机的发展史-多图展示历史上各种各样的电脑.pdf
行业-89 再次重温写出各种SQL语句的时候,会用什么执行计划?(2).rar
重温微积分前四章重排版齐民友.pdf
微积分是科学与技术的基础。 本书对微积分起源、发展,特别是由于需求对微积分发展的推动,进行了重温。
本文不作为一篇严谨的理论推导文章,仅为博主学习时的随手小记,个人的主观认知为主,以求日后能在较快时间内理清思路,找到当下的学习状态。文章中会尽量避免出现过多公式及推导,如果能有幸...https://b23.tv/KoHg2pB