本文章属于专栏- 概述 - 《设计模式(极简c++版)》-CSDN博客
模式说明
- 方案: 外观模式提供了一个统一的接口,简化了一组复杂子系统的访问方式。
- 优点:
- 将客户端与子系统解耦,降低了复杂性。
- 提高了代码的灵活性和可维护性。
- 缺点:
- 可能导致外观类过于庞大,承担了过多的责任。
- 增加了系统的抽象层,有时会影响性能。
本质思想:外观模式的本质思想是为一组复杂的子系统提供一个简单的接口,隐藏其复杂性,使得客户端可以更轻松地使用。
实践建议:只对使用十分高频,且逻辑链路复杂,且使用者不需要关心内部逻辑的场景使用
示例代码
cpp
#include <iostream>
// 子系统类:鸟
class Bird {
public:
void fly() {
std::cout << "Bird is flying." << std::endl;
}
void sing() {
std::cout << "Bird is singing." << std::endl;
}
};
// 外观类:鸟操作
class BirdFacade {
private:
Bird bird;
public:
void performActions() {
bird.fly();
bird.sing();
}
};
int main() {
BirdFacade birdFacade;
birdFacade.performActions(); // 输出: Bird is flying. Bird is singing.
return 0;
}