1、C#模式设计习题分析第三章 简单工厂模式5、使用简单工厂模式设计一个可以创建不同几何形状(Shape),如圆形(Circle)、矩形(Rectangle)和三角形(Triangle)等的绘图工具类,每个几何图形均具有回执Draw()和擦除Erase()两个方案,要求在绘制不支持的几何图形时,抛出一个UnsupportedShapeException异常,绘制类图并使用C#语言编程模拟实现实例类图:上图中,Shape接口充当抽象产品类,其子类Circle、Triangle、Rectangle和UnsupportedShapeException充当具体产品类,ShapeFactory充当工厂类。第
2、五章 抽象工厂模式5、一个电器工厂可以生产多种类型的电器,如海尔工厂可以生产海尔电视机、海尔空调等,TCL工厂可以生产TCL电视机、TCL空调等,相同品牌的电器构成了一个产品族,而相同类型的电器构成了一个产品等级结构,试使用抽象工厂模式模拟该环境。实例类图:上图中,ElectricalFactory接口充当抽象工厂,其子类HaierElectricalFactory和TCLElectricalFactory充当具体工厂,接口Air_conditioning和TV充当抽象产品,其子类HaierAir_conditionin、TCLAir_conditioning、HaierTV和TCLTV充当具
3、体产品。第六章 建造者模式4、计算机组装工厂可以将CPU、内存、硬盘、主机、显示器等硬件设备组装在一起构成一台完整的计算机,且构成的计算机可以是笔记本,也可以是台式机,还可以是不提供显示器的服务器主机。对于用户而言,无须关心计算机的组成设备和组装过程,工厂返回给用户的。是完整的计算机对象,使用建造者模式实现计算机组装过程,要求绘制类图并使用C#代码编程模拟实现。实例类图:上图中,ComputerAssemble 充当指挥者,ComputerPartBuilder 充当抽象建造者,NoteBookBuilder、PCBulider和ServerBulider充当具体建造者,Part充当复杂产品。
4、第八章 单例模式6、使用MS Visual Studio设计一个多文档窗口(MDI),然后创建一个工具栏(ToolStrip),在工具栏中添加一个按钮,单击该按钮会弹出一个“工具”窗口,使用单例模式进行设计,使得“工具”窗口只能弹出一个,如图86所示:实例类图:上图中,将工具栏ToolStrip设计为单例角色,其中包含一个工具的集合Mini_Tool,每次在Mini_Tool中随机选择一个小工具来相应按钮的请求。第十章 桥接模式5、空客(Airbus)、波音(Boeing)和麦道(McDonnell-Douglas)都是飞机制造商,它们都生产载客飞机(Passenger Plane)和载货飞机
5、(Cargo Plane)。试设计一个系统,描述这些飞机制造商以及它们所制造的飞机种类。实例类图:上图中,Manufacturer充当抽象类,其子类AirbusManufacturer、BoeingManufacturer和McDonnell_DouglasManufacturer充当扩充抽象类;Plane充当实现类接口,其子类CargoPlane和PassengerPlane充当具体实现类。6、某软件公司要开发一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例如TXT、XML、PDF等格式,同时该工具需要支持多种不同的数据库。试使用桥接模式对其进行设计,并使用C#代码编程模拟实现。
6、实例类图:上图中,Data充当抽象类,其子类AccessData、和SQLData充当扩充抽象类;Dataformats充当实现类接口,其子类PDFformats、XMLformats和TXTformats充当具体实现类。第十一章 组合模式5、某教育机构的组织结构如图11-8所示:在该教育机构OA系统中可以给各级办公室下发公文,现采用组合模式设计该机构的组织结构,绘制相应的类图并使用C#语言编程模拟实现,在客户端代码中模拟下发公文。实例类图:上图中,Document充当抽象构件类,Office充当容器构件类,Headquarters、Branch、TeachingPoints1和Teachin
7、gPoints2充当叶子构件类。第十二章 装饰模式4、最简单的手机(SimplePhone)在接受到来电的时候,会发出声音提醒主人,现在需要为该手机添加一项功能,即在接收到来电的时候,除了有声音还能产生振动(JarPhone),还可以得到更加高级的手机(ComplexPhone),来电时它不仅能够发声,产生振动,而且有灯光闪烁提示。现用装饰模式来模拟手机功能的升级过程,要求绘制类图并使用C#语言模拟实现。实例类图:上图中,SimplePhone充当抽象构建类,其子类RingPhone充当具体构建类,SimplePhone类的另一个子类ComplexPhone充当抽象装饰类,ComplexPhone的子类JarPhone和FlashLight充当具体装饰类。感谢下载!欢迎您的下载,资料仅供参考
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1