登陆注册
15296300000102

第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());

}

}

同类推荐
  • 中文版AutoCAD2005建筑绘图精讲精学

    中文版AutoCAD2005建筑绘图精讲精学

    本书从中文版AutoCAD2005建筑绘图的基础进行介绍,讲解了建筑绘图的环境设置、二维建筑图形的绘制、二维建筑及装饰图形的编辑、建筑绘图中的文字标注和图形查询、建筑装潢平面图中的尺寸标注、建筑绘图中图块的应用、建筑平面图的绘制、建筑立面图的绘制、建筑剖面图的绘制、建筑绘图中的三维造型、三维建筑模型绘制及建筑图纸的布局与打印输出等内容。
  • 不懂PowerPoint就当不好经理

    不懂PowerPoint就当不好经理

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

    学校计算机实用技术

    本书由杭州市上城区教育学院编著,他们邀请了众多信息技术教育教学的一线专家,认真细致地筛选了学校计算机应用方面的常见问题,提出了解决问题的具体操作方案,旨在帮助一线教育工作者解决可能面临的种种问题,为广大教师提供便捷服务。
  • 信息安全

    信息安全

    我们不得不看到,全球信息化发展,使信息安全成为维护国家安全的重要屏障,信息安全问题正在为国与国之间带来新的制约关系。当然,这只是我们强调信息安全极端重要性的一个原因。事实上,信息安全已经上升为国家安全的重要组成部分,这是信息时代国家安全的明显特征,也是很多国家的共识。但与其他国家安全元素不同,如果脱离信息化发展的环境,“信息安全”只是一个抽象的目标,它要通过对国家的政治、经济、文化等方面的影响体现其对国家安全的意义,并以保障信息化发展为目标取向。因此,我们说信息安全是信息时代国家安全的基石。
  • 玩转手机

    玩转手机

    本书主要包括:手机的发展历史、手机知识、手机的选购与巧用、手机与网络、手机短信等内容。
热门推荐
  • 烦躁门

    烦躁门

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 重生之嫡妻二嫁

    重生之嫡妻二嫁

    高门庶女,身份卑微。父母不疼,公婆不齿。就连丈夫也只将她当做和嫡姐结合的跳板,用过之后弃若敝屣。利用过后,那对男女竟还不肯善罢干休,妄图踩着她的尸体一圆美梦。她不是包子,又怎能容忍两只疯狗天天狂咬?也罢,既然生生世世逃避不开,那就主动出击:你若无情——我便休!将计就计,虚与委蛇,好容易逃出生天,却不曾想……丈夫回心转意?外男虎视眈眈?嫡母跪地求饶?不过是想摆脱一切寻得一片净土,可为何这片净土上还越来越热闹了!
  • 星际神修

    星际神修

    五行灵根同修,最终修成混沌之体,成为神界之人,最终达到永生,机缘的巧合使他走上了一条与众不同的修练永生之路,神器的锐利,各种灵宝让他的修真之路充满险阻,五行同修成就神人之体,达到永生境界。在这里你会看到一个为了信念和承诺去努力奋斗的修真之人。。。相信在这会看到一个奇幻的修真之路。
  • 红娘自配(满汉全喜系列)

    红娘自配(满汉全喜系列)

    [花雨授权]为了不再心伤,她远走他方,偶然间,她看见了那个人,那个骄傲的一如孔雀的男子。于是,她设计了一个小小的骗局,来到他的身旁。想乘乘凉却会遇上一个妖精?他是不能被人碰啦,但碰妖精?应该没问题吧?
  • 青春情缘

    青春情缘

    讲述男女主角相爱。。一段泣人恋爱史。。请欣赏
  • 大雁飞来,我们却散去

    大雁飞来,我们却散去

    “你看,大雁成群结队从南方飞回来了,我们难道就要这么散了吗?”钟昊辰红了眼眶,抬头看着李昕蕊说。”大雁会互帮互助,大雁会成群结队,可它们终有老去的一天,它们终究会散去。我们都长大了,也该散了。"李昕蕊看着人字形的大雁往北飞,心里一阵酸楚,却又只能装作不在意,淡淡回答道。
  • 星球改造计划

    星球改造计划

    地面太拥挤?没关系!拥有反重力技术,我们可以在空中造城!污染太严重?没问题!再生循环系统,足以实现全球自我净化!至于看病难,这更是小儿科了!纳米修复仓加上基因药剂,绝症不再是威胁,甚至于寿命的长短,也不能桎梏我们的发展!粮食不缺!能源充足!军事先进!我们现在面临的最大问题,就是人口不足!这么大一个星球,仅仅不到300亿人口!这严重制约了我们星际殖民计划的进行!所以诸位,我恳请你们努力造.人吧!----------------------------------------------自从杨哲捡了只肥兔儿回家,整个世界的画风都开始变了!PS:这是骚年在一只二逼肥兔儿引领下制霸宇宙的欢乐故事!
  • Bloodclan君王

    Bloodclan君王

    圣玄大陆,血族君王!凌玄之晨,唯吾独尊!少年从人族中生出,自血族中崛起,从此战遍天下无双!杀妖兽,灭暴君!只为踏出一方天地,成就君王之位!若天执意要灭我!我定然逆天而战!作者致谢:本小说封面由墨星小说封面网免费制作,还没有封面的赶快去免费申请啦!百度搜索“墨星”即可找到!
  • 西欧现代著名作家(世界文学百科)

    西欧现代著名作家(世界文学百科)

    本套书系共计24册,包括三大部分。第一部分“文学大师篇”,主要包括中国古代著名作家、中国现代著名作家、世界古代著名作家、亚非现代著名作家、美洲现代著名作家、俄苏现代著名作家、中欧现代著名作家、西欧现代著名作家、南北欧现代著名作家等内容;第二部分“文学作品篇”,主要包括中国古代著名作品、中国现代著名作品、世界古代著名作品、亚非现代著名作品、美洲现代著名作品、俄苏现代著名作品、西欧现代著名作品、中北欧现代著名作品、东南欧现代著名作品等内容;第三部分“文学简史篇”,主要包括中国古代文学简史、中国近代文学简史、中国现代文学简史、世界古代文学简史、世界近代文学简史、世界现代文学简史等内容。
  • 少将独霸冷妻

    少将独霸冷妻

    她冷淡柔弱,六年的努力,为了也不过是想要得到心里那个人的一点位置,她认为爱就要爱得毫无保留,全心全意的付出。可是他说他永远也不会爱上她,他说养她是因为她有利用价值,他说他要把她送进另一个男人的怀里。终于,她累了,想逃离了,她会把命还给他,因为她不再爱了!