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