美文网首页
构建者设计模式-Builder

构建者设计模式-Builder

作者: baixin | 来源:发表于2020-10-26 22:39 被阅读0次

1.定义

又称生成器设计模式,它是将一个复杂对象的构建(属于稳定部分或抽象)与它的表示(属于变化部分或具体实现)分离,使得同样的构建过程可以创建不同的表示。

2.动机

在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法(程序)构成; 由于需求的变化(构建过程和具体实现的变更原因和变更速率不同),这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定;

3.结构图

构建者设计模式结构图

Director和Builder有时候可以合并(合并后有点类似于模板方法设计模式),根据类的复杂度来区分要不要合并

4.适用性

在以下情况下使用Builder模式:

  • 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时;
  • 当构造过程必须被构造的对象有不同的表示时;

5.协作(构建流程)

  • 客户端创建Director对象,并用它所想的Builder对象中的操作进行配置
  • 一旦生成了产品部件,导向器就会通知生成器
  • 生成器处理导向器的请求,并将部件添加到该产品中
  • 客户从生成器中检索产品

6.总结

  • Builder模式主要用于“分步骤构建一个复杂的对象”。这里的“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化(属于不稳定的);
  • 变化点在哪里,封装在哪里(把变化点隐藏起来,如用一个函数、方法或对象来封装)——Builder模式主要在于应对“复杂对象各个部分”的频繁需求变动。其缺点在于难以应对“分步骤构建算法”的需求变动

相关文章

  • Mybatis中的设计模式

    Mybatis 设计模式 mybaits最少用到了九种设计模式: 设计模式mybaits体现Builder构建者模...

  • 安卓设计模式-构建者模式

    安卓设计模式-构建者模式 是什么 构建者模式又生builder模式,是将复杂的对象的构建与他的表示分离,使得同样的...

  • 设计模式--Builder

    标签(空格分隔): android 设计模式 builder 1 Builder设计模式概述 将复杂对象的构建与它...

  • Builder模式

    一、作用 工匠若水-设计模式(创建型)之建造者模式(Builder Pattern) 用于构建复杂的对象,将构建的...

  • 构建者(Builder)设计模式

    一、定义:构建者模式,又称建造者模式。 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。...

  • 设计模式---构建者(Builder)

    介绍 该模式为了将构建复杂对象的过程和他的部件解耦,使得构建构成和部件的表示隔离开。 UML 上代码 说明 Com...

  • 构建者设计模式-Builder

    1.定义 又称生成器设计模式,它是将一个复杂对象的构建(属于稳定部分或抽象)与它的表示(属于变化部分或具体实现)分...

  • 【设计模式】- Builder(构建者)模式

    简介 当我们在构建一个复杂的对象时,想要把对象的构建和表现分离开来,那么就可以使用Builder模式。比如:构建一...

  • Android Builder模式笔记

    Builder模式介绍 Builder模式又称建造者模式,表示将构建过程和表示过程进行分离,让(参数)构建过程变得...

  • 设计模式(四):建造者模式

    建造者模式(Builder Pattern) 建造者模式(Builder Pattern)将一个复杂的构建与其表示...

网友评论

      本文标题:构建者设计模式-Builder

      本文链接:https://www.haomeiwen.com/subject/vcxukktx.html