建造者模式

作者: greensure | 来源:发表于2019-02-03 10:32 被阅读0次

参考资料:

http://www.codingdict.com/article/8716

https://my.oschina.net/u/3865831/blog/2998468

https://www.cnblogs.com/liaoweipeng/p/5790603.html

建造者模式实践代码

注:未完待续

1、什么是建造者模式

释一
构建器(Builder)模式使用简单对象并使用逐步方法构建复杂对象。 
这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。
构建器(Builder)模式构建器逐步构建最终对象,此构建器独立于其他对象。
释二
建造者模式(又称生成器模式)将一个复杂对象的构建过程和它的表示分离,从而使同样的构建过程,可以生成不同的表示。
建造者模式将一个复杂对象的构建过程分成一个个简单的步骤,用户只需要了解对象的类型和内容,无须关注复杂对象的构建过程,帮助用户屏蔽掉内部具体的构建细节。
释三
将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。

2、建造者模式主要角色

(1)建造者接口(Builder)

builder:为创建一个产品对象的各个部件指定抽象接口。

Builder接口主要用来定义建造者构建产品对象的各部分的行为

(2)具体建造者(ConcreteBuilder)

ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个检索产品的接口。

具体建造者是用来直接创建产品对象的,具体建造者要实现两类方法,一类是建造方法,

例如:buildPart1()、buildPart2(),另一类是获取建造好的产品对象的方法

(3)导演(Director)

Director:构造一个使用Builder接口的对象

导演通过调用具体建造者来创建需要的产品对象

(4)产品(Product)

Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程,包含定义组成部件的类,包括将这些部件装配成最终产品的接口。

产品是用户需要的复杂对象

3、建造者模式和工厂模式的区别

工厂模式一般都是创建一个产品对象,只需要将产品对象创建出来,不关心产品对象的组成细节和组成过程。

建造者模式也是创建一个产品对象,不同的是建造者模式不仅要将产品对象创建出来,还要关心产品对象的组成细节和组成过程。

4、建造者模式适用场景

建造者模式是在当创建复杂对象的复杂算法一个独立与该对象的组成部分以及它们的装配方式时适用的模式。

相关文章

  • Builder Pattern in Java

    建造者模式:建造者模式定义建造者模式应用场景实现案例Jdk中的建造者模式建造者模式的优点建造者模式的缺点 建造者模...

  • 设计模式(4) 建造者模式

    什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与...

  • 建造者模式(部件构造)

    目录 建造者模式的理念 从 POJO 到建造者模式的思考 怎么来实现建造者模式 建造者模式在Android源码中的...

  • 【设计模式】之建造者Builder模式

    建造者模式 什么是建造者模式? 建造者模式属于创建型模式的一员,可以控制对象的实例化过程。建造者模式简化了复杂对象...

  • 建造者模式

    一、建造者模式介绍 二、建造者模式代码实例

  • 建造者模式

    建造者模式 首先,建造者模式的封装性很好。使用建造者模式可以有效的封装变化,在使用建造者模式的场景中,一般产品类和...

  • 建造者模式:深入理解建造者模式 ——组装复杂的实例

    目录: 一 建造者模式介绍 1.1 定义 1.2 为什么要用建造者模式(优点)? 1.3 哪些情况不要用建造者模式...

  • 设计模式之建造者模式

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

  • 一、设计模式(构建模式)——03建造模式与原型模式

    建造者模式 建造型模式用于创建过程稳定,但配置多变的对象。 建造模式的实现要点: 在建造者模式中,指挥者是直接与客...

  • 创建型模式:建造者模式

    个人公众号原文:创建型模式:建造者模式 五大创建型模式之四:建造者模式。 简介 姓名 :建造者模式 英文名 :Bu...

网友评论

    本文标题:建造者模式

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