- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE #
PAGE
PAGE #
实验
、实验目的
加深对这使用 PowerDesigner 和任意一种面向对象编程语言实现几种常用的设计模式, 些模式的理解, 包括装饰模式、 外观模式、 代理模式、 职责链模式、 命令模式、 迭代器模式、 观察者模式、状态模式、策略模式和模板方法模式。
加深对这
二、实验内容
使用 PowerDesigner 和任意一种面向对象编程语言实现装饰模式、 外观模式、 代理模式、 职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式, 包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。
三、实验要求
1. 正确无误绘制装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模
式、观察者模式、状态模式、策略模式和模板方法模式的模式结构图;
使用任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、 命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,代码运行正确 无误。
四、实验步骤
1. 使用2. 使用3. 使用4. 使用PowerDesigner 绘制装饰模式结构图并用面向对象编程语言实现该模式;
1. 使用
2. 使用
3. 使用
4. 使用
PowerDesigner 绘制装饰模式结构图并用面向对象编程语言实现该模式;
PowerDesigner 绘制外观模式结构图并用面向对象编程语言实现该模式;
PowerDesigner 绘制代理模式结构图并用面向对象编程语言实现该模式;
PowerDesigner 绘制职责链模式结构图并用面向对象编程语言实现该模式;
5. 使用
6. 使用
7. 使用
8. 使用
PowerDesigner 绘制命令模式结构图并用面向对象编程语言实现该模式;
PowerDesigner 绘制迭代器模式结构图并用面向对象编程语言实现该模式;
PowerDesigner 绘制观察者模式结构图并用面向对象编程语言实现该模式;
PowerDesigner 绘制状态模式结构图并用面向对象编程语言实现该模式;
9. 使用PowerDesigner
9. 使用
10. 使用 PowerDesigner 绘制模板方法模式结构图并用面向对象编程语言实现该模式。
五、实验报告要求
1. 提供装饰模式结构图及实现代码;
2. 提供外观模式结构图及实现代码;
提供代理模式结构图及实现代码;
提供职责链模式结构图及实现代码;
提供命令模式结构图及实现代码;
提供迭代器模式结构图及实现代码;
提供观察者模式结构图及实现代码;
提供状态模式结构图及实现代码;
提供策略模式结构图及实现代码;
提供模板方法模式结构图及实现代码。
六、实验结果
(1)装饰模式
某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook()。
现需要动态给书籍对象添加冻结方法 freeze()和遗失方法lose()。使用装饰模式设计该系统,
绘制类图并编程实现。
package in terfaceDirector Pattern;Book
package in terface
Director Pattern;
Book
voidvoidborrowBook(); retur nBook();
void
void
final
class MyBook impi eme nts
Book
P ublic void borrowBook(){
);System. out .println( MyBook borrowing!
);
}
public void System.
}
}
returnBook(){
out .println(
MyBook returning!
);
abstract
class
BookDirector
implements Book
private
Book book ;
public
BookDirector(Book book)
Book directoring!);System. out .println( this . book =book;
Book directoring!
);
public void borrowBook(){book .borrowBook();
}
public void returnBook(){
book .returnBook();
}
class NewBook extends BookDirector
public NewBook(Book book) {super (book);System.}out .println(Book changed to NewBook!);pu
文档评论(0)