博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java设计模式(五)--建造者模式(Builder)
阅读量:5117 次
发布时间:2019-06-13

本文共 1149 字,大约阅读时间需要 3 分钟。

转载:

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

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

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

  测试:

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

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

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

你可能感兴趣的文章
抽象工厂模式( Abstract Factory )
查看>>
solidity 智能合约操作
查看>>
各类技术学习笔记
查看>>
:集中式存储解决方案
查看>>
[转载]UIButton 详解
查看>>
MySQL备份和还原
查看>>
day8 文件操作
查看>>
Ajax
查看>>
Delphi数组
查看>>
KMP算法总结
查看>>
部门分享会演讲复盘-1
查看>>
fastReport.net 初了解
查看>>
利用WWW类获取图片并且在unityUGUI的Image中显示
查看>>
Java文件执行过程
查看>>
pythoncook 随记
查看>>
小白学Docker之Swarm
查看>>
彻底弄懂后缀数组
查看>>
bzoj1029: [JSOI2007]建筑抢修(堆+贪心)
查看>>
iOS------获取当前时间和当前时间戳
查看>>
Java 数值计算精度问题
查看>>