分享
 
 
 

设计模式读书笔记(2)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Builder 生成器模式

名称:也叫建造模式、生成器模式

问题:

通常产品是由多个零件组成的,不同的产品,组成零件不一样,组装方式也不一样。假设一个产品,由2部分组成(至于如何组成,可能随着技术发展,会不一样),另外的产品,有3个部分组成,我们需要创建这些产品,如何做到完美实现呢?

解决:

这样,我们作如下设计:

设计一个抽象的建造者Builder接口,规范产品的组成部分建造:定义buildPart1()和buildPart2()、buildPart3方法。

具体的实现者 ConCreate Builder(实现Builder接口)在外部请求下建造产品。

导演Director类同客户端打交道,将创建产品的请求划分为part1\part2的请求,再将这些请求委派给具体的实现者。

产品Product是需要创建的对象,但是可以有多个。每一个产品由于不一样,所以必须(一般)由一个具体的实现者来实现具体细节。

效果:

这样,对于客户来讲,完全同产品的多样性和复杂性无关了,仅需要同导演类对象打交道,通过导演类实例来实现具体的产品创建。而导演类是通过Builder接口来实现产品创建的。

图:

举例说明:

女娲造人,人(产品Product)由灵魂、四肢、感官等多70多个部件(part1…part70)组成,女娲(建造者Builder)命令 诸神实现各个部分,最后通过getResult方法返回一个产品—人。

如果早原始人,那可能以上就够了,但是如果造现代人,还有容貌肯定不同、思想也不单纯(产品组成细节不同了),但还是可以由70多个部分组成,那么需要建造者具体实现时候不一样(构造灵魂时候,现代人跟古代人肯定不一样),但同样需要构造70多个部分(如果某一部分不需要,仅仅返回空即可)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有