登陆注册
8183300000102

第102章 3 房屋

大B:“这样吧,我给你举个使用构建房屋的场景来说明‘生成器’吧!首先,这是我们最终需要生成的产品――房屋,它具有房间数量和门数量的属性。”

package com。alex。designpattern。builder;

/***// *最终我们需要的产品――房屋

*/

public class House……{

int roomNumber;

int doorNumber;

public House()……{

roomNumber=0;

doorNumber=0;

}

public int getRoomNumber()……{

return roomNumber;

}

public int getDoorNumber()……{

return doorNumber;

}

}

大B:“接下来就是房屋的真正构建者――‘生成器’的接口定义,以及它的一个实现。”

package com。alex。designpattern。builder;

/***// *房屋构建者的接口

*

*/

public interface HouseBuilder……{

public void BuildRoom(int roomNo);

public void BuildDoor(int room1,int room2);

public House getHouse();

}

package com。alex。designpattern。builder;

public class ConcreteHouseBuilderA implements HouseBuilder……{

private House house;

public ConcreteHouseBuilderA()……{

house=new House();

}

public void BuildRoom(int roomNo)……{

//you can create a new Room added to a House

house。roomNumber=house。roomNumber roomNo;

}

public void BuildDoor(int room1,int room2)……{

//you can create a new door assotiated with 2 room//and added this door into a house

house。doorNumber=house。doorNumber room1 room2;

}

public House getHouse()……{

return house;

}

}

大B:“这就是所谓的Director――最终构建房屋的‘表示者’。我们需要给它提供‘生成器’,然后由它来构建房屋。”package com。alex。designpattern。builder;

/***// *房屋(构建)的“表示”者,通过它我们可以对同一种构建采用不同的表示方式

*

*/

public class HouseDirector……{

public static House CreateHouse(HouseBuilder concreteBuilder)……{

concreteBuilder。BuildRoom(1);

concreteBuilder。BuildRoom(2);

concreteBuilder。BuildDoor(1,2);

concreteBuilder。BuildDoor(2,1);

return concreteBuilder。getHouse();

}

}

大B:“最后,当然是我们的测试启动类了,可以看到,使用生成器模式的简单过程就是:1、创建生成器对象。2、表示者使用此生成器对象构建最终产品。”

package com。alex。designpattern。builder;

/***// *A test client to create a house《br》

*but we do not know how the room and door be created

*《p》

*

*Builder(生成器模式)

*《p》

*将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

*/

public class Test……{

public static void main(String[]args)……{

ConcreteHouseBuilderA myHouseBuilder=new ConcreteHouseBuilderA();

House myHouse=HouseDirector。CreateHouse(myHouseBuilder);

System。out。println(My house has room: myHouse。getRoomNumber());

System。out。println(My house has door: myHouse。getDoorNumber());

}

}

同类推荐
  • 如何组装电脑

    如何组装电脑

    本书以问答的形式介绍了组装电脑的基本知识。内容包括:电脑硬件的部件组成、CPU的发展历程、CPU主频、内存的组成、内存的主要性能参数等。
  • 计算机与人工智能(科学新知丛书)

    计算机与人工智能(科学新知丛书)

    本书是专门为中小学生编写的科普读物。全书共分八个部分,分别就计算机诞生的历程,计算机的种类、构造、作用及其发展趋势等方面进行了详尽的论述,全书论述深入浅出,行文活泼流畅。为本书的主要读者——广大的中小学生朋友认识计算机、了解计算机和掌握计算机提供了一把钥匙,是新时期中小学生开展素质教育不可多得的科普读物,中小学生家长及教师阅读此书也能从中获得有益的启示和感悟。
  • 纵横于天地之间——互联网络技术

    纵横于天地之间——互联网络技术

    本书告诉你:不管你是谁,只要生活在当前的时代,你一定知道电话,知道电脑,知道上网……知道许许多多关于电子、关于计算机、关于网络的话题,这就是网络时代。网络的话题可多了:它是怎么来的?什么是“蜘蛛网”?网络的过去和现在,上网的方法,如何使用网络,互联网的安全,网络有“陷阱”吗?网络有“瘾”吗?网络文化和未来又是怎样的?到书中去找答案吧!
  • 计算机应用基础案例教程

    计算机应用基础案例教程

    本书是根据教育部对高等院校计算机公共基础课程的基本要求,结合计算机技术的最新发展及高职高专类院校计算机基础课程改革的最新动向编写而成。其主要内容包括计算机基础知识、WindowsXP操作系统、Word2003文字处理软件、Excel2003电子表格软件、PowerPoint2003演示文稿制作软件、计算机网络与安全及常用工具软件的使用。本书将理论知识与项目实践相结合,既对理论有较为系统全面的讲解,又通过案例突出了操作技能的培养。本书内容新颖,体系结构合理,可作为高职高专学校、成人高等学校的计算机公共基础课教材,也可以作为广大计算机爱好者的自学参考书。
  • 中国网络传播研究2009(第三辑)

    中国网络传播研究2009(第三辑)

    本文以传统社区研究的“场域论”为基础,探讨网络传播中场域性互动对社会舆论的影响。文章首先从传统社区传播的场域性特征出发,探讨网络传播的社区性和场域性。然后分别分析了传统门户、BBS论坛和私人博客等三种主流的网络传播的场域性互动、意见表达和舆论形成的特点。最后结合“张殊凡事件”、“王石捐款”事件以及“黑砖窑”事件,探讨网络传播中的场域性互动对社会舆论从虚拟到现实的影响。
热门推荐
  • 海贼世界的替身使者

    海贼世界的替身使者

    一个运气好的倒霉鬼,上班途中玩着被人安利的游戏,一脚踩空掉进下水道里面,然后带着金手指穿越了。金手指就是这个游戏里面的抽奖池,或许还有一些奇怪的东西,需要氪金抽奖,里面有很多强力的奖品,比如说究极生物的遮羞布、柱男血统、特殊的石鬼面、完美艾哲红石、还有数不清的替身。“我只是一个普通上班族而已啊……一次抽奖还得100万,什么?以后金额还要增加?可是我现在没钱怎么办?得找个办法弄点钱来。”获得奖励:柱男血统(阉割版)、坚韧意志、通用语言、白金之星(替身槽未开启,无法领取使用。)波纹能量*5、普通上班族的精美手办*1“这是我之前抽到的东西?我就说我的运气好的不行,但是连使用还要钱是什么鬼?你这奖池也太坑了吧!”“那么决定了,先定一个小目标,先赚他一千万抽个十连试试水。”PS:书名又叫《从海贼开始欧拉一切》
  • 青春的爱恋

    青春的爱恋

    一个王子身边必须要跟着一个恶魔,因为有了这个恶魔,才能衬托出王子的完美。毫无疑问,曹旭是王子,而梁舟就是那个恶魔。迷惘的青春里,一曲甜蜜的苦涩正在酝酿,而真正的幸福却从未曾走远……
  • 洞真上清太微帝君步天纲飞地纪金简玉字上经

    洞真上清太微帝君步天纲飞地纪金简玉字上经

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 论如何在皇宫里生存

    论如何在皇宫里生存

    “我**”竟然穿越了!我堂堂七尺男儿竟然……!她……她好像也是穿越过来的,诶诶别跑啊!阿西!你过来啊!
  • 恐龙等我

    恐龙等我

    2700年,人类准备拯救恐龙,他们用了四个半个世纪去准备。3150年,他们穿梭到了恐龙时代。他们将遇到什么呢......
  • 天行

    天行

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

    封魔道

    极尽封魔,我欲成佛。笑什么笑!说的就是你!看什么看!老子在封魔!
  • 自动自发

    自动自发

    在竞争日益激烈的经济环境下,每一个企业都在呼唤能够自动自发的员工。如果你是企业的老板,想培养勤奋敬业、忠诚可靠的优秀员工,你需要将本书赠送给他们;如果你是一名员工,想创造骄人业绩,想得到老板的赏识与提拔,你更需要读读本书。
  • 天行

    天行

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

    天行

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