设计模式之外观模式Facade

来源:互联网 发布:传销组织 知乎 编辑:程序博客网 时间:2024/06/09 21:12

将子系统中的不同接口封装成一个简单的接口,组合一组不同的子功能实现较复杂的功能接口。


代码示例:

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();}


原创粉丝点击