设计模式之外观模式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();
}
代码示例:
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(外观 总管 Manager)
- (9)Java设计模式-外观模式(Facade)
- (9)Java设计模式 - 外观模式(Facade)
- 设计模式--外观模式Facade(结构型)
- 研磨设计模式之外观模式(Facade)(模式讲解)
- 设计模式(九)外观模式Facade(结构型)
- C# 设计模式-外观(Facade)
- 设计模式学习之路——Facade 外观模式(结构型模式)
- 设计模式之外观模式(Facade)
- ios设计模式读书笔记----Facade(外观)
- 十三.结构型设计模式——Facade Pattern(外观模式)
- 设计模式笔记10:外观模式(Facade Pattern)
- 设计模式外观模式(FacadePattern)
- 23设计模式之外观模式(Facade)
- 设计模式理解(九)结构型——外观(Facade)
- 设计模式之Facade---外观模式
- Objective C设计模式之外观模式facade
- 设计模式之Facade(外观)模式
- 设计模式中的facade外观模式在JavaScript开发中的运用
- C#设计模式-外观模式(Facade Patten)