下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二 设计模式实验一一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。二、实验内容使用PowerDesigner和任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。(1) 简单工厂模式使用简单工厂模式设计一个可以创建不同几何形状(Shape)的绘图工具类,如可创建
2、圆形(Circle)、方形(Rectangle)和三角形(Triangle) 对象,每个几何图形都要有绘制draw()和擦除erase()两个方法,要求在绘制不支持的几何图形时,提示一个UnsupportedShapeException,绘制类图并编程实现。(2) 简单工厂模式使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数“M”,则返回一个Man对象,如果传入参数“W”,则返回一个Woman对象,使用任意一种面向对象编程语言实现该场景。现需要增加一个新的Robot类,如果传入参数“R”,则返回一个Robot对象,对代码进行修改并注意女娲的变化。(3) 工厂方法模式某系统
3、日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统。用代码实现日志记录器实例,如果在系统中增加一个中的日志记录方式控制台日志记录(ConsoleLog),绘制类图并修改代码,注意增加新日志记录方式过程中原有代码的变化。(4) 工厂方法模式现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器(ImageReader),如GIF图片读取器(GifReader)用于读取GIF格式的图片、JPG图片读取器(JpgReader)用于读取JPG格式的图片。图片读取器对象通过图片读取器工厂Ima
4、geReaderFactory来创建,ImageReaderFactory是一个抽象类,用于定义创建图片读取器的工厂方法,其子类GifReaderFactory和JpgReaderFactory用于创建具体的图片读取器对象。使用工厂方法模式实现该程序的设计。(5) 抽象工厂模式某系统为了改进数据库操作的性能,自定义数据库连接对象Connection和语句对象Statement,可针对不同类型的数据库提供不同的连接对象和语句对象,如提供Oracle或SQL Server专用连接类和语句类,而且用户可以通过配置文件等方式根据实际需要动态更换系统数据库。使用抽象工厂模式设计该系统。用代码模拟实现数据
5、库操作工厂实例,要求可以通过配置文件改变数据库类型。(6) 抽象工厂模式计算机包含内存(RAM)、CPU等硬件设备,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现计算机设备创建过程并绘制相应的类图。(7) 单例模式使用单例模式的思想实现多例模式,确保系统中某个类的对象只能存在有限个,如两个或三个,设计并编写代码实现一个多例类。(8) 单例模式使用单例模式设计一个多文档窗口(注:在Java AWT/Swing开发中可使用JDesktopPane和JInternalFrame来实现),要求在主窗体中某个内部子窗体只能实例化一次,即只能弹出一个相同的子窗体,如下图所示:(注:用C#或
6、C+实现类似功能也可以)(9) 适配器模式现有一个接口DataOperation定义了排序方法sort(int) 和查找方法search(int, int),已知类QuickSort的quickSort(int)方法实现了快速排序算法,类BinarySearch 的binarySearch(int, int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。(要求实现快速排序和二分查找)(10) 适配器模式使用任意一种面向对象编程语言实现一个双向适配器实
7、例,使得猫可以学狗叫,狗可以学猫抓老鼠。绘制相应类图并使用代码编程模拟。三、实验要求1. 正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式实例的模式结构图;2. 使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式实例,代码运行正确无误。四、实验步骤1. 熟悉PowerDesigner15的常用功能;2. 使用PowerDesigner绘制简单工厂模式实例结构图并用面向对象编程语言实现该模式实例;3. 使用PowerDesigner绘制工厂方法模式实例结构图并用面向对象编程语言实现该模式实例;4. 使用PowerDesigner绘制抽象工厂模式实例结构图并用面向对象编程语言实现该模式实例;5. 使用PowerDesigner绘制单例模式实例结构图并用面向对象编程语言实现该模式实例;6. 使用PowerDesigner绘制适配器模式结构图并用面向对象编程语言实现该模式。五、实验报告要求1. 提供简单工厂模式实例结构图及实现代码;2. 提供工厂方法模式实例结构图及实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户服务满意度调查问卷设计指南提升客户体验
- 新材料研发行业科研项目管理方案
- 跨平台协作编辑模板与实时同步功能
- 企业行政事务操作手册模板
- 多功能销售业绩分析模板
- 北京市第七中学2025-2026学年初三一诊模拟考试(一)英语试题含解析
- 四川省遂宁第二中学2026届初三下第二次阶段(期中)数学试题含解析
- 山西省(大同)重点名校2026届宁夏银川二中下学期初三年级统练三英语试题含解析
- 流程化管理工具在人力资源配置中的实践
- 内蒙古包头市青山区重点中学2026年初三5月第一次单元测试-语文试题试卷含解析
- 四级考前培训
- 2025-2030年中国高强钢焊丝行业深度研究分析报告
- 幕墙工程量计算规则
- 精神科安全用药管理
- 电力工程重大危险源识别与安全措施
- 2025年陕西榆能化学材料公司招聘笔试参考题库含答案解析
- CQI-17锡焊系统评估第二版(2021年8月发布)
- 经络与腧穴-手少阴心经
- 武汉市2024年九年级四月调考数学试卷及答案
- 新时代文明实践研究报告
- 小学科学湘科版六年级下册全册同步练习含答案
评论
0/150
提交评论