博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java设计模式菜鸟系列(十五)建造者模式建模与实现
阅读量:6047 次
发布时间:2019-06-20

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

转载请注明出处:

建造者模式(Builder):工厂类模式提供的是创建单个类的模式。而建造者模式则是将各种产品集中起来进行管理。

简单起见,就拿之前的工厂方法模式进行改动一下就能够得到建造者模式。

一、uml建模:

二、代码实现

/** * 演示样例:建造者模式 *  * 与工厂模式的差别:工厂类模式提供的是创建单个类。而建造者模式则是将各种产品集中起来进行管理 */interface Sender {	public void send();}class EmailSender implements Sender {	@Override	public void send() {		System.out.println("使用电子邮箱发送...");	}}class SmsSender implements Sender {	@Override	public void send() {		System.out.println("使用短信发送...");	}}class Builder {	private List
list = new ArrayList
(); public List
getList() { return list; } public void produceEmailSender(int count) { for (int i = 0; i < count; i++) { list.add(new EmailSender()); } } public void produceSmsSender(int count) { for (int i = 0; i < count; i++) { list.add(new SmsSender()); } }}/** * client測试类 * * @author Leo */public class Test { public static void main(String[] args) { Builder builder = new Builder(); builder.produceEmailSender(5); builder.produceSmsSender(5); /** * 遍历list中的元素 */ List
list = builder.getList(); for (int i = 0; i < list.size(); i++) { Sender sender = list.get(i); System.out.println(sender); sender.send(); } }}

三、总结

建造者模式将非常多功能集成到一个类里,这个类能够创造出比較复杂的东西。所以与工厂模式的差别就是:工厂模式关注的是创建单个产品,而建造者模式则关注创建复合对象。多个部分。

你可能感兴趣的文章
Java中Volatile的理解
查看>>
c++primer page 249 answer
查看>>
04单例模式Singleton
查看>>
SSE图像算法优化系列六:OpenCv关于灰度积分图的SSE代码学习和改进。
查看>>
找考场
查看>>
暑假第一周进度总结(2018.7.9-2018.7.15)
查看>>
数据库程序接口——JDBC——功能第一篇——第一个程序
查看>>
NSOperation简单使用01
查看>>
javascript获取事件源对象和产生事件的对象
查看>>
iOS控件之UITextView
查看>>
第三次会议
查看>>
UNIX的套接口(Socket)编程简介
查看>>
CSF 中的应用程序请求路由
查看>>
Programming Ability Test学习 1035. 插入与归并(25)
查看>>
curl_multi_init 操作实例
查看>>
vue-swiper的使用
查看>>
RDLC设计
查看>>
bs4爬虫的一点心得----坑
查看>>
scp详解
查看>>
【小白入门教程】3 分钟搞明白直播中拖动不准的问题
查看>>