`
newspringwork
  • 浏览: 99156 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

第三章、Java设计模式-生成器模式(Builder)

 
阅读更多

一、简介

1.定义

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

2.相关角色

Builder:生成器接口,定义创建Product所需各个部件方法的接口

ConcreteBuilder:具体生成器的实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时还提供一个让用户获取组装完成后的产品对象的方法

Director:指导者,主要用来使用Builder接口,以一个统一的过程来创建所需要的Product对象

Product:产品,表示被生成器构建的复杂对象,包含多个部件

如果ConcreteBuilder只有创建对象功能,而没有组装的功能,个人感觉这里实现的生成器模式和抽象工厂模式没什么差别

3.何时使用?

  • 如果创建对象的算法应该兜里于该对象的组成部分以及它们的装配方式时
  • 如果一个构建过程有着不同的表示时
二、实例
可以参考别人的博客:查看...
分享到:
评论

相关推荐

    研磨设计模式-part3

    第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) ...

    研磨设计模式-part2

    第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) ...

    研磨设计模式-part4

    第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) ...

    JAVA经典设计模式大全

    3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式...

    设计模式文档

    3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89...

    深入浅出设计模式(中文版电子版)

    第3章GoF-CreationalDesignPatterns创建型设计模式 23 3.1SimpleFactoryPattern(简单工厂模式) 24 3.1.1定义 24 3.1.2现实例子——国旗生产厂 26 3.1.3C#实例1——电子付款系统 26 3.1.4C#实例2——学校登录...

    深入浅出设计模式(中文版)

    第3章GoF-CreationalDesignPatterns创建型设计模式 23 3.1SimpleFactoryPattern(简单工厂模式) 24 3.1.1定义 24 3.1.2现实例子——国旗生产厂 26 3.1.3C#实例1——电子付款系统 26 3.1.4C#实例2——学校登录...

    二十三种设计模式【PDF版】

    《Thingking in Java》(第一版中文)是这样描述设计模式的:他在由 Gamma, Helm 和 Johnson Vlissides 简称 Gang of Four(四人 帮),缩写 GoF 编著的《Design Patterns》一书中被定义成一个“里程碑”。事实上,那本书...

    JAVA与模式

    单例模式与MX记录 com.javapatterns.multilingual 专题:多例模式与多语言支持 com.javapatterns.keygen 专题:序列键生成器与单例及多例模式 com.javapatterns.builder 建造者模式 ...

    Java与模式(含示例代码)

    第3 章 软件的可维护性与可复用性35 3.1 软件系统的可维护性...................35 3.2 系统的可复用性...........................39 3.3 老子论“不武”...........................42 第4 章 “开-闭”原则(OCP...

    asp.net知识库

    深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP.Net应用程序的多进程模型 NET委托...

    java面试800题

    Q0051 设计模式主要几种 "创建模式 factory工厂模式、prototype原始模型模式、singleton单例模式、builder建造模式 结构模式 facade门面模式、proxy代理模式、adapter适配器(变压器)模式、composite合成模式、...

    DesignPattern

    --第八章:生成器模式(Builder) 本质:分离整体构建算法和部件构造 --第九章:原型模式(Prototype) 本质:克隆生成对象 --第十章:中介者(Mediator) 本质:封装交互 --第十一章:代理模式(Proxy) 本质:控制对象访问...

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    Scala程序设计(第2版)

    第3章 要点详解 60 3.1 操作符重载? 60 3.2 无参数方法 63 3.3 优先级规则 64 3.4 领域特定语言 65 3.5 Scala中的if语句 66 3.6 Scala中的for推导式 67 3.6.1 for循环 67 3.6.2 生成器...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    第3章 实例管理 81 3.1 设置数据库初始化参数 82 3.1.1 静态参数和动态参数以及初始化参数文件 82 3.1.2 基本参数 84 3.2 描述启动和关闭数据库时的多个阶段 88 3.2.1 Database Control的启动和连接 88 3.2.2...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

    第3章 实例管理 81 3.1 设置数据库初始化参数 82 3.1.1 静态参数和动态参数以及初始化参数文件 82 3.1.2 基本参数 84 3.2 描述启动和关闭数据库时的多个阶段 88 3.2.1 Database Control的启动和连接 88 3.2.2...

    springmybatis

    恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。 整个工程目录结构如下: 除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! mybatis实战教程(mybatis in action)之二:以...

Global site tag (gtag.js) - Google Analytics