文件名称:吉林大学软件学院卓班设计模式第三次作业
文件大小:1012KB
文件格式:RAR
更新时间:2022-11-10 14:47:44
吉林大学 设计模式
作业03 结构型模式
1. 现Mouse类的定义如下:
class Mouse
{
public:
void Walk( int steps )
{ cout<<"Implement for Walk() with Verson 1."}
void AddMoney(int m)
{ cout<<"Implement for AddMoney() with Verson 1."}
private:
int posX;
int posY;
};
若已知:在后续的版本中
a)可能会增加Mouse类的其他行为,如增加Drive(int steps)和Fly(int steps);
b)可能需要改变Walk(int steps)的具体实现细节;
c)可能会增加其它数据成员,如将2D位置信息改为3D位置信息等。
d)希望在新版本中,尽可能地通过扩展老版本,适应新需求。
请使用桥接模式重新设计Mouse类及相关类,并简要说明如何适应变化a-d。
2. 请设计并实现一个foo.dll,其中含有类如下:
a) 若foo.dll直接导出了类Foo、类FooA、类FooB,请使用类适配器和对象适配器,实现
class User {
public:
int myProcess( ) { /*适配Foo.process(); */ }
};
b) 若foo.dll没有导出类Foo、类FooA、类FooB,但导出函数shared_ptr
【文件预览】:
作业03
----作业03.docx(50KB)
----T02B()
--------Foo()
--------User()
----第3题.docx(15KB)
----T02A()
--------Foo()
--------User()
----T01()
--------T01.sln(1KB)
--------Debug()
--------T01()