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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 
* 建造者模式
 
* 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;
    
}
}

  测试:

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

本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/5228558.html,如需转载请自行联系原作者

你可能感兴趣的文章
程序员的出路在哪里?挣钱的机会来了续-福利来了,仿QQ界面,放出全部源码,打造创业框架及实现思路...
查看>>
C语言中的 (void*)0 与 (void)0
查看>>
DIV固定在页面某个位置,不随鼠标滚动而滚动
查看>>
android 根据SD卡中图片路径读取并显示SD中的图片——源代码
查看>>
浅析Android线程模型一 --- 转
查看>>
Cocos2d-x PluginX (二)增加新的Plugin
查看>>
python-django开发学习笔记四
查看>>
cocos2d-x开发记录:二,基本概念(导演,场景,层和精灵,场景切换,效果)...
查看>>
Binutils工具集中的一些比较常用的工具
查看>>
IoC在ASP.NET Web API中的应用
查看>>
Android手机 Fildder真机抓包
查看>>
jsp里面实现asp.net的Global文件内容。
查看>>
Oracle ROWID
查看>>
(转)为C# Windows服务添加安装程序
查看>>
使用Team Foundation Server 2012源代码管理基本
查看>>
WCF服务通信测试
查看>>
dos命令dir查找文件的用法及实例
查看>>
Hadoop守护进程【简--】
查看>>
fdm_search_info_w_book_chain
查看>>
协方差的意义
查看>>