设计模式上机实验二实验报告

设计模式上机实验二实验报告

ID:38720753

大小:561.00 KB

页数:31页

时间:2019-06-18

设计模式上机实验二实验报告_第1页
设计模式上机实验二实验报告_第2页
设计模式上机实验二实验报告_第3页
设计模式上机实验二实验报告_第4页
设计模式上机实验二实验报告_第5页
资源描述:

《设计模式上机实验二实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设计模式实验二实验报 告书专业班级软件0703学号3901070324姓名吉亚云指导老师刘伟时间2010年4月24日中南大学软件学院31实验二设计模式上机实验二一、实验目的使用PowerDesigner和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式。二、实验内容使用PowerDesigner和任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、

2、观察者模式、状态模式、策略模式和模板方法模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。三、实验要求1.正确无误绘制装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式的模式结构图;2.使用任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,代码运行正确无误。四、实验步骤1.使用PowerDesigner绘制装饰模式结构图并用面向对象编程语言实现

3、该模式;2.使用PowerDesigner绘制外观模式结构图并用面向对象编程语言实现该模式;3.使用PowerDesigner绘制代理模式结构图并用面向对象编程语言实现该模式;4.使用PowerDesigner绘制职责链模式结构图并用面向对象编程语言实现该模式;5.使用PowerDesigner绘制命令模式结构图并用面向对象编程语言实现该模式;6.使用PowerDesigner绘制迭代器模式结构图并用面向对象编程语言实现该模式;7.使用PowerDesigner绘制观察者模式结构图并用面向对象编程语言实现该模式;8.使

4、用PowerDesigner绘制状态模式结构图并用面向对象编程语言实现该模式;9.使用PowerDesigner绘制策略模式结构图并用面向对象编程语言实现该模式;10.使用PowerDesigner绘制模板方法模式结构图并用面向对象编程语言实现该模式。五、实验报告要求1.提供装饰模式结构图及实现代码;2.提供外观模式结构图及实现代码;3.提供代理模式结构图及实现代码;4.提供职责链模式结构图及实现代码;315.提供命令模式结构图及实现代码;6.提供迭代器模式结构图及实现代码;7.提供观察者模式结构图及实现代码;8.提供

5、状态模式结构图及实现代码;9.提供策略模式结构图及实现代码;10.提供模板方法模式结构图及实现代码。六、实验结果(1)装饰模式某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook()。现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。使用装饰模式设计该系统,绘制类图并编程实现。packageDirectorPattern;interfaceBook{voidborrowBook();voidreturnBook();}finalclassMyBoo

6、kimplementsBook{publicvoidborrowBook(){System.out.println("MyBookborrowing!");}31publicvoidreturnBook(){System.out.println("MyBookreturning!");}}abstractclassBookDirectorimplementsBook{privateBookbook;publicBookDirector(Bookbook){System.out.println("Bookdirector

7、ing!");this.book=book;}publicvoidborrowBook(){book.borrowBook();}publicvoidreturnBook(){book.returnBook();}}classNewBookextendsBookDirector{publicNewBook(Bookbook){super(book);System.out.println("BookchangedtoNewBook!");}publicvoidfreeze(){System.out.println("Bo

8、okfreezing!");}publicvoidlose(){System.out.println("Booklost!");}}publicclassBookDirectorClient{publicstaticvoidmain(Stringa[])31{//半透明Bookbook=newMyBook();NewBooknew

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。