转载:http://zz563143188.iteye.com/blog/1847029

工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。我们看一下代码:

还和前面一样,一个Sender接口,两个实现类MailSender和SmsSender。最后,建造者类如下:

/*** 建造者模式* Created by mrf on 2016/2/29.*/
public class Builder {private List<Sender> list = new ArrayList<>();public List<Sender> produceMailSender(int count){for (int i = 0; i < count; i++) {list.add(new MailSender());}return list;}public List<Sender> produceSmsSender(int count){for (int i = 0; i < count; i++) {list.add(new SmsSender());}return list;}
}

  测试:

public class BuilderTest {@Testpublic void testProduceMailSender() throws Exception {Builder builder = new Builder();List<Sender> senders = builder.produceMailSender(10);System.out.println(senders);}@Testpublic void testProduceSmsSender() throws Exception {}
}

  从这点看出,建造者模式将很多功能集成到一个类里,这个类可以创造出比较复杂的东西。所以与工程模式的区别就是:工厂模式关注的是创建单个产品,而建造者模式则关注创建符合对象,多个部分。因此,是选择工厂模式还是建造者模式,依实际情况而定。

转载于:https://www.cnblogs.com/woshimrf/p/5228558.html

java设计模式(五)--建造者模式(Builder)相关推荐

  1. Java设计模式(建造者模式-适配器模式-桥接模式)

    Java设计模式Ⅲ 1.建造者模式 1.1 建造者模式概述 1.2 建造者模式的注意事项和细节 1.3 代码理解 2.适配器模式 2.1 类适配器模式 2.1.1 代码理解 2.2 对象适配器模式 2 ...

  2. 折腾Java设计模式之建造者模式

    博文原址:折腾Java设计模式之建造者模式 建造者模式 Separate the construction of a complex object from its representation, a ...

  3. java设计模式 建造模式_理解java设计模式之建造者模式

    理解java设计模式之建造者模式 发布于 2020-12-10| 复制链接 摘记: 建造者模式(Builder Pattern)主要用于"分步骤构建一个复杂的对象",在这其中&qu ...

  4. java设计模式之建造者模式(UML类图分析+代码详解)

    大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...

  5. JAVA设计模式之建造者模式

    转自 JAVA设计模式之建造者模式 建造者模式(Builder)的定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. Builder模式是一步一步创建一个复杂对象的创建型 ...

  6. 一文弄懂Java设计模式之建造者模式:图解+游戏角色生成实例

    文章目录 详解Java设计模式之建造者模式 案例引入建造者模式 建造者模式 定义 UML类图表示 模式结构 案例分析与代码实现 案例类图实现 代码结构 代码实现 结果分析 指挥者类的深入讨论 钩子方法 ...

  7. Java设计模式之建造者模式(精髓版)

    目录 1.建造者模式阐述 2.使用Java代码实现建造者模式 3.为什么需要使用建造者模式? 4.建造者模式与工厂方法模式有什么区别? 1.建造者模式阐述 Java 建造者模式是一种创建型设计模式,其 ...

  8. Android设计模式之建造者模式builder

    今天小编来说一下Android中的一种设计模式--建造者模式Builder 绪论: 那么对于Android初级来说,Builder设计模式可能在我们开发中用过的很少,但是我们可能见过,我们经常用的Al ...

  9. 设计模式之—建造者模式(Builder)-Java实现

    Builder模式,将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部 表象的产品对象.建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节.建造模式可以 ...

  10. Java设计模式之建造者(Builder)模式详细总结

    一.概述: 将一个复杂对象的构建与它的表示分离,使得同样的构造过程可以创建不同的表示. 二.结构: 1.Product(复杂的产品对象):一个复杂对象,包含多个成员变量. public class P ...

最新文章

  1. 什么时候应该在内部联接上使用交叉应用?
  2. 多协议注入工具t50
  3. filestream 生成xml 文件时被如何让禁止转义_从Edgecam到PCDMIS,如何将工艺工程师的思想加入质量检测?...
  4. Android学习笔记篇2. 单选按钮、复选按钮
  5. 分布式数据库技术基础:数据分片介绍
  6. 手把手教你用EVO工具评估SLAM数据集TUM、KITTI、EuRoC(附代码)
  7. php 获取今天数据,ThinkPHP 按日期获取今天获取本周获取本月获取今年数据
  8. java线程初始方法三种_Java 多线程 三种实现方式
  9. python 如何匹配列表中某个单词_Python中部分指定单词的最佳匹配项
  10. Linux之父和Redis之父,Redis之父:10x程序员应该具备哪些素质
  11. 常用配置文件格式比较
  12. Tomcat配置和使用——详解
  13. Java 并发编程实战 -- 常见概念
  14. java xcap,xcap发包工具的简单使用2(发送报文)
  15. diy的电流电压表,高频率采集,上位机同步显示
  16. File和IO流应用,剪切文件夹
  17. echart饼状图上显示百分比
  18. 利用水晶报表打印数据表格
  19. uni.navigateTo失效
  20. 总结学过的技术,实现加密注册,登录及过期不能访问,微信朋友圈功能,文章比较长,但是比较详细。

热门文章

  1. 判别器loss为0_scikitlearn—线性判别分析和二次判别分析
  2. yolov5鱼苗检测计数:从数据标注到训练
  3. CVPR 2020文本图像检测与识别论文/代码
  4. 车辆检测及型号识别,准确率接近90%
  5. 藏红花怎么推广?百度下拉词|抖音下拉词框|信息流推广-三剑合璧
  6. HowNet介绍及使用
  7. 南大电子机器人入驻云南_园区优秀企业| 中科恒清清淤机器人,以智能科技为水环境治理保驾护航...
  8. 平板电脑怎么投屏到电视上_笔记本电脑可以投屏到电视吗?电脑投屏电视,体验大屏乐趣...
  9. android 数据持久化——读写SD卡中的内容
  10. winform 根据NAME查找控件