外观模式:属于结构型模式
基本原理:隐藏系统复杂性,为系统开放一个便于使用的接口
主要流程:
1.创建系统和子系统
2.创建一个外观类,统一管理子系统的功能,并对外提供接口
注意:外观类是管理子系统和对外提供接口
#include <iostream>
#include <string>
using namespace std;
//创建系统和子系统
class View
{
public:
virtual void showView() = 0;
};
class EquipView : public View
{
public:
void showView()
{
cout<<"Equip view has been opened "<<endl;
}
};
class ItemView : public View
{
void showView()
{
cout<<"Item view has been opened "<<endl;
}
};
class SpecialView : public View
{
public:
void showView()
{
cout<<"Special view has been opened "<<endl;
}
};
//创建外观类,用来对外使用
class ControlView
{
private:
View *equipView;
View *itemView;
View *specialView;
public:
ControlView()
{
equipView = new EquipView();
itemView = new ItemView();
specialView = new SpecialView();
}
//管理子系统中的方法
void showEquipView()
{
equipView->showView();
}
void showItemView()
{
itemView->showView();
}
void showSpecialView()
{
specialView->showView();
}
};
int main()
{
ControlView *controlView = new ControlView();
controlView->showEquipView();
controlView->showItemView();
controlView->showSpecialView();
return 0;
}