- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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
您可能关注的文档
最近下载
- 2025年闽教版(2024)小学英语四年级上册(全册)教学设计(附目录P123).docx
- 人教版高中英语第三册Unit 1 FESTIVALS AND CELEBRATIONS教学设计.docx VIP
- 数据结构常用算法数据结构算法.pdf VIP
- 20世纪人类最伟大的100项科学发明.doc VIP
- 北师大版九年级上册数学第一次月考试卷及答案.docx VIP
- 脊柱外科进修汇报.pptx VIP
- 2025年最新版个人征信报告(含水印)模板【可修改】 .pdf VIP
- 金刚砂地坪施工技术交底.pdf VIP
- 人教版英语2024七年级上册全册单元知识清单(背诵版).pdf VIP
- 股权设计与股权激励.pdf VIP
文档评论(0)