登陆注册
8183300000104

第104章 5 如何使用生成器模式

小A:“那应该如何使用生成器模式?”

大B:“首先假设一个复杂对象是由多个部件组成的,Builder模式是把复杂对象的创建和部件的创建分别开来,分别用Builder类和Director类来表示。”

首先,需要一个接口,它定义如何创建复杂对象的各个部件:

public interface Builder{

//创建部件A 比如创建汽车车轮

void buildPartA();

//创建部件B 比如创建汽车方向盘

void buildPartB();

//创建部件C 比如创建汽车发动机

void buildPartC();

//返回最后组装成品结果(返回最后装配好的汽车)

//成品的组装过程不在这里进行,而是转移到下面的Director类中进行。

//从而实现了解耦过程和部件

Product getResult();

}

用Director构建最后的复杂对象,而在上面Builder接口中封装的是如何创建一个个部件(复杂对象是由这些部件组成的),也就是说Director的内容是如何将部件最后组装成成品:

public class Director{

private Builder builder;

public Director(Builder builder){

this。builder=builder;

}

//将部件partA partB partC最后组成复杂对象

//这里是将车轮 方向盘和发动机组装成汽车的过程

public void construct(){

builder。buildPartA();

builder。buildPartB();

builder。buildPartC();

}

}

Builder的具体实现ConcreteBuilder,通过具体完成接口Builder来构建或装配产品的部件,定义并明确它所要创建的是什么具体东西,提供一个可以重新获取产品的接口。

public class ConcreteBuilder implements Builder{

Part partA,partB,partC;

public void buildPartA(){

//这里是具体如何构建partA的代码

};

public void buildPartB(){

//这里是具体如何构建partB的代码

};

public void buildPartC(){

//这里是具体如何构建partB的代码

};public Product getResult(){

//返回最后组装成品结果

};

}

复杂对象:产品Product:

public interface Product{}

复杂对象的部件:

public interface Part{}

我们看看如何调用Builder模式:

ConcreteBuilder builder=new ConcreteBuilder();

Director director=new Director(builder);

director。construct();

Product product=builder。getResult();

同类推荐
  • 综合应用软件设计

    综合应用软件设计

    本书是为计算机、信息管理等相关专业高年级本科生在开设相关课程时所编写的一本教学参考书,它将全面指导学生学习、熟悉和运用当今被广泛采纳的一些主流技术去进行综合应用软件设计的有效实践。
  • 如何操作电脑

    如何操作电脑

    信息社会是科技、文化发展,知识爆炸的结果。不懂得计算机,将处于半文盲的境地。因此,对于计算机,不仅要作为工具使用,已经是一项文化普及的要求。我们不仅要会使用计算机做一些诸如文字处理等具体工作,更要培养一种计算机意识。
  • 中文版3dsMax2010实例与操作

    中文版3dsMax2010实例与操作

    本书结合3dsMax2010的实际用途,按照系统、实用、易学、易用的原则,通过大量案例介绍了3dsMax2010的各项功能,内容涵盖3dsMax入门、创建和编辑二维图形、创建基本三维模型、使用修改器、网格建模、多边形建模、面片建模、复合建模、材质和贴图、灯光和摄影机、渲染、动画制作、粒子系统、空间扭曲和动力学等。
  • 不懂PowerPoint就当不好经理

    不懂PowerPoint就当不好经理

    经理人如何用PowerPoint,来规划部门的发展,如何用PowerPoint来表达自己的经营主张?本书为各类经理人提供了从入门到提高,从原理到实战的一系列知识,相信本书将让演示文稿为经理人的管理效能加分!
  • 创业在微软

    创业在微软

    身处软件巨擘微软之中,何来“创业”二字?本书详尽勾勒了微软亚洲工程院(ATC)的成长历程,披露了工程院人在“创业”过程中不为人知的种种酸甜苦辣,生动展现了工程院的独特文化,并从另一个角度展现了其领袖人物张宏江博士的心路历程和管理思想。
热门推荐
  • 璟的神格争夺战

    璟的神格争夺战

    南宫璟被卷入了一场神格的争夺战。在各个动漫、小说的世界,面对诸神的使者,他又该何去何从?将要去的世界顺序:魔禁(无剧情)→《龙与虎》x《龙之界点》x《大神与七个伙伴》混合世界→魔禁(正式剧情开始)→后面暂不剧透--------------------------------------作者是初中毕业生,所以质量以及速度就别期待太多,若有不足之处,请大家多多指点。
  • 丑女大翻身:农家渔女初长成

    丑女大翻身:农家渔女初长成

    作者新书《彪悍农家妻:世子的心尖宠妃》已经上传,希望大家继续支持!一场意外,秦月雯发现自己变成了董家村人人嫌弃的傻女董月。前世作为董家枪的传人,她打打杀杀,没过过一天好日子,这一生她发誓要平平安安过一生。搬家、建房、种药材、围鱼塘、小康生活似乎唾手可得。却发现这一切得来容易,是因为“他”在帮忙。“月儿,要是有一天你发现我不是你认识的瑾哥哥,你还认我吗?”“你只要是我的瑾哥哥,那便一辈子都是我的瑾哥哥。”“你要保重自己,千万等我回来。”“我会充实自己,但愿配得上你。”俺们有家啦,欢迎入群【561524185】
  • 我家后院有座蟠桃园

    我家后院有座蟠桃园

    石涛,发现后院有座用灵泉浇灌的仙桃园;蟠桃拿出来可以救命治病,甜美的桃花吃了可令村姑变女神,一株后院的幼苗桃花可卖千万,后院的灵泉更能净化污垢的空气,从此,这座后院成了石涛的金山,石涛也成了村花、女总裁追求的目标!
  • 求求你别秀了

    求求你别秀了

    英雄联盟前职业选手江峰在世界大赛上表现平平,因为年纪原因被俱乐部强行背锅。穿越到异界的他,有着一个十六岁完美的身体,不过因为年纪未成年,还不能正式比赛,所以他只能先直播着。因为他犀利的操作和完美的意识,弹幕中刷的最多的就是:求求你别秀了!!!
  • 妖途鬼道

    妖途鬼道

    人、妖、鬼各有各的道路,行走在应该行走的道路上互不侵犯。如果人、妖、鬼走错了该走的路,就会发生一些不可逆转的事情,这些事情给人们带来很大的困扰和灾难。奶奶做的这件事,就是将这些走错路的人、鬼、妖引领到他们应该走的道路上去,这是奶奶一生的责任。
  • 神级妖灵

    神级妖灵

    因不喜欢学习,随便吐槽一句的元明在拿到传家宝后发了句牢骚就穿越了?什么传家宝啊?老爹!没见过你这么坑儿子的。熟悉的家人,朋友,学校。什么都没变,但是却多了很多妖灵?这是一个妖灵的世界。这一切是梦?还是现在梦醒?这里的海底一万米深度生活着各种各样的人鱼,天空中漂浮的龙岛内万龙朝拜着什么?在野外妖灵的挤压下,夏国民众依靠着二十四节气之神级妖灵的庇佑才得以站稳脚跟。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 灵媚系列之赤姬

    灵媚系列之赤姬

    他曾是人人敬仰的上仙,只因为那个心爱之人,甘心沦为凡人,只愿能够与其相守一生;他曾是仙界最有才华之人,却甘愿为心爱之人,堕为人人得而诛之的魔鬼,只愿完成心爱毕生的心愿;她曾是最无忧无虑的妖精,却甘愿为心爱之人,修习仙法,千百年不变,只想早日化为神仙,与其相伴。他们都是有爱之人,却同时都是可怜人,追其一生,却终只换来一声嗟叹。
  • 痞神记

    痞神记

    一个占了“一人得道鸡犬升天”的便宜而升天的社会青年,偷渡上得天庭后才发现,原来神仙......不是故事描述中的那么不食人间烟火~神仙原来也有七情六欲......没有实力的他如何在天庭扯起大旗,摸爬滚打混上位。新人第一次写书,全凭爱好。BUG是难避免,还望各位神仙大大们,尽量给些指点。PS:若是开头不喜恶搞的朋友,还请慢慢看下去,前期只是铺垫,毕竟是要神仙为主
  • 咸鱼的逐天漂流

    咸鱼的逐天漂流

    有一天,一龙这条咸鱼翻身了,开始在诸天万界开始搞事啦,然而,搞事的咸鱼依旧是咸鱼……一龙(兴奋):叶不修,是时候来solo一把了……叶修:……一龙(认真脸):葛小伦,我觉得吧,我这一拳下去,你的大剑可能会完蛋……葛小伦(一脸懵逼):呃……一龙(奸笑脸):小石昊,我觉得吧,我的厨艺还不错,那这只神兽尸体是不是……石昊(一脸萌萌哒):那…那你必须给我来盒酸奶……要低脂的……多年以后,一龙站在山巅看着远处荒天帝的养殖场看着西游世界叶修和神仙大能的游戏战场欣慰的呼出一口气……