欢迎来到牛牛文库! | 帮助中心 分享知识,快乐你我!
牛牛文库
换一换
首页 牛牛文库 > 资源分类 > DOC文档下载
 

设计模式上机实验二的实验报告.doc

  • 资源ID:3362       资源大小:178.50KB        全文页数:44页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:15金币 【人民币15元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: QQ登录   微博登录  
下载资源需要15金币 【人民币15元】   |   0.1元文档测试下载
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

加入VIP,免费下载资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

设计模式上机实验二的实验报告.doc

实验二 设计模式上机实验二 一、实验目的 使用 PowerDesigner 和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式。 二、实验内容 使用 PowerDesigner 和任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。 三、实验要求 1. 正确无误绘制装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式的模式结构图; 2. 使用任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,代码运行正确无误。 四、实验步骤 1. 使用 PowerDesigner 绘制装饰模式结构图并用面向对象编程语言实现该模式; 2. 使用 PowerDesigner 绘制外观模式结构图并用面向对象编程语言实现该模式; 3. 使用 PowerDesigner 绘制代理模式结构图并用面向对象编程语言实现该模式; 4. 使用 PowerDesigner 绘制职责链模式结构图并用面向对象编程语言实现该模式; 5. 使用 PowerDesigner 绘制命令模式结构图并用面向对象编程语言实现该模式; 6. 使用 PowerDesigner 绘制迭代器模式结构图并用面向对象编程语言实现该模式; 7. 使用 PowerDesigner 绘制观察者模式结构图并用面向对象编程语言实现该模式; 8. 使用 PowerDesigner 绘制状态模式结构图并用面向对象编程语言实现该模式; 9. 使用 PowerDesigner 绘制策略模式结构图并用面向对象编程语言实现该模式; 10. 使用 PowerDesigner 绘制模板方法模式结构图并用面向对象编程语言实现该模式。 五、实验报告要求 1. 提供装饰模式结构图及实现代码; 2. 提供外观模式结构图及实现代码; 3. 提供代理模式结构图及实现代码; 4. 提供职责链模式结构图及实现代码; 2 5. 提供命令模式结构图及实现代码; 6. 提供迭代器模式结构图及实现代码; 7. 提供观察者模式结构图及实现代码; 8. 提供状态模式结构图及实现代码; 9. 提供策略模式结构图及实现代码; 10. 提供模板方法模式结构图及实现代码。 六、实验结果 1 装饰模式 某图书管理系统中,书籍类Book具有借书方法 borrowBook和还书方法returnBook 。现需要动态给书籍对象添加冻结方法 freeze和遗失方法 lose。使用装饰模式设计该系统,绘制类图并编程实现。 BookborrowBook,,voidreturnBook,,void0..*0..1MyBookBookDirector{abstract},borrowBook,,void-book,BookreturnBook,,voidBookDirector,Book,bookborrowBook,,voidreturnBook,,voidNewBookNewBook,Book,bookfreeze,,voidlose,,void package DirectorPattern; interface Book { void borrowBook; void returnBook; } final class MyBook implements Book { public void borrowBook{ System.out.println“MyBook borrowing“; } 3 public void returnBook{ System.out.println“MyBook returning“; } } abstract class BookDirector implements Book { private Book book; public BookDirectorBook book { System.out.println“Book directoring“; this.bookbook; } public void borrowBook{ book.borrowBook; } public void returnBook{ book.returnBook; } } class NewBook extends BookDirector { public NewBookBook book { superbook; System.out.println“Book changed to NewBook“; } public void freeze { System.out.println“Book freezing“; } public void lose { System.out.println“Book lost“; } } public class BookDirectorClient { public static void mainString a[] 4 { //半透明 Book booknew MyBook; NewBook newBooknew NewBookbook; newBook.borrowBook; newBook.returnBook; newBook.freeze; newBook.lose; } } 运行结果 2 外观模式 在电脑主机Mainframe中,只需要按下主机的开机按钮on,即可调用其他硬件设备和软件的启动方法,如内存Memory的自检check,CPU 的运行run,硬盘HardDisk的读取read,操作系统OS的载入load等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并编程实现。 MainFrame-memory,Memory-cpu,CPU-disk,HardDisk-os,OSon,,voidoff,,void0..10..10..10..10..*0..*0..*0..*OSMemoryHardDiskCPUload,,voidcheck,,voidread,,voidrun,,voidoff,,voidoff,,voidoff,,voidoff,,void package FacadePattern; class Mainframe { private Memory memory; private CPU cpu; private HardDisk disk; 5 private OS os; public Mainframe { memorynew Memory ; cpunew CPU ; disknew HardDisk ; osnew OS ; } public void on { memory.check; cpu.run; disk.read; os.load; } public void off { memory.off; cpu.off; disk.off; os.off; } } class Memory { public void check { System.out.println “Memory checking~“; } public void off { System.out.println“Memory off~“; } } class CPU { public void run { 6 System.out.println“CPU running“; } public void off { System.out.println“CPU off“; } } class HardDisk { public void read { System.out.println“HardDisk reading“; } public void off { System.out.println“HardDisk off“; } } class OS { public void load { System.out.println“OS loading“; } public void off { System.out.println“OS off“; } } public class ComputerFacadeClient { public static void mainString args[] { Mainframe mainframenew Mainframe; mainframe.on; System.out.println“-----------------------“; mainframe.off; 7 } } 运行结果 3 代理模式 应用软件所提供的桌面快捷方式是快速启动应用程序的代理,桌面快捷方式一般使用一

注意事项

本文(设计模式上机实验二的实验报告.doc)为本站会员(Sky)主动上传,牛牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知牛牛文库(发送邮件至niuniuwenku@163.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2018    牛牛文库网站版权所有 站长QQ:1791658557
工信部备案号: 沪ICP备18011688号-2

收起
展开