1 / 13
文档名称:

软件素养报告-设计模式.doc

格式:doc   大小:67KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件素养报告-设计模式.doc

上传人:sssmppp 2021/3/5 文件大小:67 KB

下载得到文件列表

软件素养报告-设计模式.doc

文档介绍

文档介绍:烟台大学
软件素养(3)大作业
专业:软件工程
班级:—计控124-4 —
姓名: 邱学伟
学号: 201258504405


(1)装饰者模式
装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它 是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式是动态地扩展一个对象 的功能,而不需要改变原始类代码的一种成熟模式。在装饰模式中,“具体组件”类和“具 体装饰”类是该模式中的最重要的两个角色。动态地给对象添加一些额外的职责。就功能来 说装饰模式相比生成子类更为灵活。
(2)代理模式
代理模式是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对 象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介 的作用。代理模式是为对象提供一个代理,代理可以控制对它所代理的对象的访问。代 理模式最常见的两种情况:远程代理和虚拟代理。 为其他对象提供一种代理以控制对这 个对象的访问。
(3)观察者模式
观察者设计模式定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化 时,所有依赖于它的独享都得到通知并自动刷新。在许多设计中,经常涉及到多个对象都对 一个特殊对象中的数据变化感兴趣,而且这多个对象都希望跟踪那个特殊对象中的数据变 化。定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的 对象都得到通知并被自动更新。

(1)装饰模式
某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook()。 现需要动态给书籍对象添加冻结方法freeze。和遗失方法lose。。使用装饰模式设计该系统, 绘制类图并编程实现。
Book
+ borrowBook () : void+ retumBook () : void
MyBook
BookDirector
(abstract}
+ «lmplement» borrowBook () : void + «lmplement» return Book () : void
book : Book
+ «Constructor» BookDirector (Book book)
+ «lmplement» borrowBook () : void+ «lmplement» return Book () : void
NewBook
+ «Constructor» NewBook (Book book)
freeze () : voidlose () : void
应用软件所提供的桌面快捷方式是快速启动应用程序的代理,桌面快捷方式一般使用一 张小图片来表示(Picture),通过调用快捷方式的run。方法将调用应用软件(Application)的run() 方法。使用代理模式模拟该过程,绘制类图并编程实现。
Software
Software
Proxy
Application
-app : Application
+ «lmplement» run () : void
+ «lmplement» run () : void
(3)观察者模式
某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到 5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。现使用观察者模式设计 该系统,绘制类图并编程实现。
MySubject
o- MyObserver+ response () : void
-v : Vector
+ addObserver (MyObserver observer) : void
+ deleteObserver (MyObserver observer) : void
+ fire Notice () : void
旧 M Stock
1..1
-price : double
+ «Getter» getPrice () : double
+ «Setter» setPrice (double new Price) : void
1..1
旧 M Stocker
-name : String
-subject :旧MStock
+ «lmplement» response () : void
+ «Constructor» IBMStocker (String name, IBMStock subject)

(1)装饰模式
package DirectorPatt