首页 > 其他分享 >建造者模式(创建型)

建造者模式(创建型)

时间:2022-09-25 11:56:13浏览次数:41  
标签:创建 void 建造 模式 computer Override public

建造者模式

介绍

建造者模式注重的是部件构建的过程,意在通过一步一步地精确构造出一个复杂的对象

可以将建造者模式理解为,假设我们有一个对象需要建立,这个对象是由多个组件(Component)组合而成,每个组件的建立都比较复杂,但运用组件来建立所需的组件对象非常简单,所以我们就可以将构建复杂组件的步骤与运用组件构建对象分离,从而构造出复杂的对象。

建造者模式包含如下角色:

  • 抽象建造者类(Builder):这是一个接口,该接口除了为创建一个Product对象的各个组件定义了若干个方法之外,还要定义返回Product对象的方法(定义构造步骤);
  • 具体建造者类(ConcreteBuilder):实现 Builder 接口的类,实现Builder接口中所定义的方法(生产各个组件);
  • 产品类(Product):要创建的复杂对象;
  • 指挥者类(Director):指挥者是一个类,该类需要含有Builder接口声明的变量。指挥者的职责是负责向用户提供具体生成器,即指挥者将请求具体生成器类来构造用户所需要的Product对象,如果所请求的具体生成器成功地构造出Product对象,指挥者就可以让该具体生产器返回所构造的Product对象。(按照步骤组装部件,并返回Product)

举个

标签:创建,void,建造,模式,computer,Override,public
From: https://www.cnblogs.com/afei688/p/16727571.html

相关文章

  • 模板方法模式 Template Method
    “组件协作”模式:现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的......
  • JavaScript 中的 Web 组件介绍:创建一个 hello-world 的 Web 组件
    JavaScript中的Web组件介绍:创建一个hello-world的Web组件WebComponents是一套不同的技术,允许您创建可重用的自定义html元素。它的伟大之处在于对组件的逻辑和......
  • 微服务架构设计模式
    模块化是开发大型、复杂应用程序的基础微服务架构可以消除对某项技术栈的长期依赖微服务架构的弊端和问题:服务的拆分和定义是一项挑战;分布式系统带来的各种复杂性,使开......
  • token 登录模式了解过吗 ?
    token是服务器端生成的一个字符串,当作客服端请求的一个令牌,在第一次登陆成功之后,服务器端会生成一个token,客户端必须要携带token才能请求数据token的具体逻辑如下:......
  • php mysql创建库 创建用户 并授权用户可使用的库 - mysql权限管理例子
    以下是php代码,可以复制起来测试测试 $dbname="ceshi1222_com";$username="user222";//创建库$sql="CREATEDATABASE{$dbname}DEFAULTCHARACTERSETutf8COLLAT......
  • 简明设计模式---桥接模式
    简述类型:结构型目的:通过抽离出多个维度相互组合(聚合)来代替继承,简化系统。话不多说,看个优化案例。优化案例现有系统中,对于画面窗口的边框有一套样式来控制是否有圆......
  • 访问者模式
    理论访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式的目的:把处理从......
  • 模式识别学习笔记-lecture3-判别函数1
    线性判别函数模式识别系统的主要作用:判别各个模式(样本)所属的类别用判别函数分类的概念判别函数进行分类依赖的因素:判别函数的几何性质:线性的和非线性的函数判别函......
  • 13.8 __new__与__init__演示创建对象的过程
     '''__new__用于创建对象,__init__把创建的对象初始化'''classPerson(object):def__new__(cls,*args,**kwargs):print('__new__被调用执行了,cls的......
  • cypress项目实践一:创建项目
    1、新建项目文件夹2、在目录下初始化package.json文件npminit 3、在项目文件夹下安装cypressyarnaddcypress--dev4、在项目更目录下直接执行命令打开cypressyar......