美文网首页达叔的朋友圈们
大话设计模式读书笔记-13建造者模式

大话设计模式读书笔记-13建造者模式

作者: QuietHeart | 来源:发表于2020-03-26 08:30 被阅读0次
bigtalk.jpg

第13章 好菜没回味不同——建造者模式

定义

建造者模式将复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。也叫生成器模式。

主要用于创建复杂对象(如:人),对象内部构件间构建次序稳定(如:有头、四肢、躯干),但构建的构建过程复杂多变(如:胖、瘦、高、矮)。

实现

  • 指挥类Director: 按照特定的流程调用抽象建造者类(Builder)的接口(BuilderPartxx()),实现特定流程的组装;
  • 抽象建造者类Builder: 抽象不同的构建流程函数,抽象了通用的流程函数(BuilderPartxx()),不是通用的流程不要写在这里;
  • 具体建造者类ConcreteBuilder: 用不同部件/方式实现抽象建造者类的流程函数(BuilderPartxx()),并且通过结果函数(getResult())返回构建完成的产品(Product类)
  • 产品Product: 包含各种部件的构建成功的产品。
  • 客户端(Client): 调用指挥类(Director)的接口(Constructor())进行产品构建,调用具体建造者类接口(getResult())返回产品(Product);

建造者模式类图实现:

img

建造者模式使用方式:

img

总结

挺好的一个设计模式,

适用场景:创建复杂对象的算法独立于对象的组成部分以及它们的装配方式

  • 好处:指挥类提供了统一的建造接口给客户,抽象建造者隐藏了产品如何组装,如果创建新的产品只需创建新的建造者类即可。
  • 这样实现了将构建与表示分离,同样的产品、用共用同样的构建流程(如肯德基味道一致),避免流程遗漏等造成同样产品不同的效果(如人工炒菜同样菜味道可能不一样)。

相关文章

  • 大话设计模式读书笔记-13建造者模式

    第13章 好菜没回味不同——建造者模式 定义 建造者模式将复杂对象的构建与表示分离,使得同样的构建过程可以创建不同...

  • 设计模式之建造者模式

    建造者模式 为什么使用及建造者模式 就以《大话设计模式》中的案例来说吧,中国人做饭,同一个鱼香肉丝,不同的厨师做出...

  • 大话设计模式之建造者模式

    建造者模式主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;...

  • Retrofit

    Retrofit设计模式 动态代理,装饰模式,建造者模式,抽象工厂模式,适配器模式 建造者模式创建Retrofit...

  • Android中涉及的模式

    我的Java设计模式-建造者模式 我的Java设计模式-观察者模式 重学设计模式之单例模式

  • 设计模式之建造者模式

    设计模式之建造者模式 Intro 简介 建造者模式: 建造者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • 设计模式之建造者模式

    设计模式之建造者模式 1. 模式定义 建造者模式又可以成为生成器模式,它属于对象创建型模式。建造者模式将一个复杂对...

  • java设计模式--建造者模式

    java设计模式--建造者模式 建造者模式定义 建造者模式:是将复杂对象的构建与表示进行分离,使同样的构建过程会有...

  • 【Java设计模式】--建造者模式

    建造者模式(Bulider模式) 一、什么是建造者模式 建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示...

网友评论

    本文标题:大话设计模式读书笔记-13建造者模式

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