欢迎来到天天文库
浏览记录
ID:51071293
大小:692.50 KB
页数:9页
时间:2020-03-18
《C#模式设计习题分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第三章简单工厂模式5、使用简单工厂模式设计一个可以创建不同几何形状(Shape),如圆形(Circle)、矩形(Rectangle)和三角形(Triangle)等的绘图工具类,每个几何图形均具有回执Draw()和擦除Erase()两个方案,要求在绘制不支持的儿何图形时,抛出一个UnsupportedShapeException异常,绘制类图并使用C#语言编程模拟实现实例类图:«create»«create»;«create»ShapeFactoryUnsupportedShapeException+Unsup
2、portedShapeException()+ShapeProduce(stringtype):Shape上图中,Shape接口充当抽象产品类,其子类Circle.Triangle.Rectangle和UnsupportedShapeException充当具体产品类,ShapeFactory充当工厂类。第五章抽象工厂模式5、一个电器工厂可以生产多种类型的电器,如海尔工厂可以生产海尔电视机、海尔空调等,TCL工厂可以生产TCL电视机、TCL空调等,相同品牌的电器构成了一个产品族,而相同类型的电器构成了一个产品等
3、级结构,试使用抽象工厂模式模拟该环境。实例类图:r、O—ElectricalFactory+CreateTV():TV+CreateAir_conditioning():Air_conditioning伞11HaierElectricalFactoryTCLEIectricalFactory+CreateTV():TV+CreateAir_conditioning():Air_conditioning+CreateTV():TV+CreateAir_conditioning():Air_conditionin
4、g«create»MW«create»«create»HaierAirconditioningTCLAirconditioning+Display():void+Display():void«create»lIJI$I$J上图中,ElectricalFactory接口充当抽象工厂,其子类HaierElectricalFactory和TCLElectricalFactory充当具体工厂,接口Air-conditioning和TV充当抽象产品,其子类HaierAir-.conditionin.TCLAir.con
5、ditioning.HaierTV和TCLTV充当具体产品。第六章建造者模式4、计算机组装工厂可以将CPU、内存、硬盘、主机、显示器等硬件设备组装在一起构成一台完整的计算机,且构成的计算机可以是笔记木,也可以是台式机,还可以是不提供显示器的服务器主机。对于用户而言,无须关心计算机的组成设备和组装过程,工厂返冋给用户的。是完桀的计算机对象,使用建造者模式实现计算机组装过程,要求绘制类图并使用C#代码编程模拟实现。实例类图:ComputerAssemble+Construct(ComputerPartBuilde
6、rab):ComputerComputerPartBuilder{abstract}#computercomputer=newComputer()+BuildType():void+BuildCPU():void+BuildMemory():void+BuildDisk():void+BuildHostComputer():void+BuildDisplay():void+CreateComputer():ComputerIVZSAPart-«Propertylmplementation>>type:stri
7、ngvPropertylmplementation>>cpu:str'ng・vvPropertylmplementation>>memory:stringvPropertylmplementation>>disk:string-«Propertylmplementation>>hostComputer:string-«Propertylmplementation>>display:string+«Property»Type:string+«Property»CPU:string+«Property»Memor
8、y:string+«Property»Disk:string+«Property»HostComputer:string+«Property»Display:string+«Setter»set_Type(stringvalue):void+«Getter»get_Type():string+«Setter»set_CPU(stringvalue):void+«Getter»get_CPU():st
此文档下载收益归作者所有