文档介绍:实验二设计模式上机实验二一、实验目的使用PowerDesigner和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式。二、实验内容使用PowerDesigner和任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。三、、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式的模式结构图;、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,代码运行正确无误。四、;;;;;;;;;。五、;;;;;;;;;。六、实验结果(1)装饰模式某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook()。现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。使用装饰模式设计该系统,绘制类图并编程实现。packageDirectorPattern;interfaceBook{ voidborrowBook(); voidreturnBook();}finalclassMyBookimplementsBook{ publicvoidborrowBook(){ ("MyBookborrowing!"); } publicvoidreturnBook(){ ("MyBookreturning!"); }}abstractclassBookDirectorimplementsBook{ privateBookbook; publicBookDirector(Bookbook) { ("Bookdirectoring!"); =book; } publicvoidborrowBook(){ (); } publicvoidreturnBook(){ (); }}classNewBookextendsBookDirector{ ewBook(Bookbook) { super(book); ("BookchangedtoNewBook!"); } publicvoidfreeze() { ("Bookfreezing!"); } publicvoidlose() { ("Booklost!"); }}lassBookDirectorClient{ publicstaticvoidmain(Stringa[]) { //半透明 Bookbook=newMyBook(); NewBooknewBook=newNewBook(book); (); newBo