您的位置:首页 > 其它

设计模式之外观模式Facade

2017-09-26 10:20 796 查看
将子系统中的不同接口封装成一个简单的接口,组合一组不同的子功能实现较复杂的功能接口。

代码示例:

class CarModel
{
public:
void setModel()
{
cout << "CarModel-SetModel" << endl;
}
};

class CarEngine
{
public:
void setEngine()
{
cout << "CarEngine-SetEngine" << endl;
}
};

class CarBody
{
public:
void setBody()
{
cout << "CarBody-SetBody" << endl;
}
};

class CarAccessories
{
public:
void setAccessories()
{
cout << "CarAccessories-SetAccessories" << endl;
}
};

class CarFacade
{
private:
CarAccessories* _accessories;
CarBody* _body;
CarEngine* _engine;
CarModel* _model;

public:
CarFacade()
{
_accessories = new CarAccessories;
_body = new CarBody;
_engine = new CarEngine;
_model = new CarModel;
}

void createCompleteCar()
{
cout << "******Creating a Car******" << endl;
_model->setModel();
_engine->setEngine();
_body->setBody();
_accessories->setAccessories();

cout << "********Car creation is completed.*********" << endl;
}
};

void main()
{
auto facade = new CarFacade();

facade->createCompleteCar();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  外观 Facade