【22】c++设计模式——>外观模式

外观模式定义

为复杂系统提供一个简化接口,它通过创建一个高层接口(外观),将多个子系统的复杂操作封装起来,以便客户端更容易使用。

简单实现

cpp 复制代码
#include<iostream>

// 子系统类
class SubsystemA {
public:
    void operationA() {
        std::cout << "Subsystem A operation" << std::endl;
    }
};

class SubsystemB {
public:
    void operationB() {
        std::cout << "Subsystem B operation" << std::endl;
    }
};

class SubsystemC {
public:
    void operationC() {
        std::cout << "Subsystem C operation" << std::endl;
    }
};

// 外观类
class Facade {
public:
    void operation() {
        subsystemA.operationA();
        subsystemB.operationB();
        subsystemC.operationC();
    }

private:
    SubsystemA subsystemA;
    SubsystemB subsystemB;
    SubsystemC subsystemC;
};

int main() {
    Facade facade;
    facade.operation();

    return 0;
}
相关推荐
初願致夕霞3 小时前
Linux_进程
linux·c++
Thera7773 小时前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
Wei&Yan4 小时前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
wregjru4 小时前
【QT】4.QWidget控件(2)
c++
浅念-4 小时前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
苏渡苇4 小时前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
小羊不会打字4 小时前
CANN 生态中的跨框架兼容桥梁:`onnx-adapter` 项目实现无缝模型迁移
c++·深度学习
Max_uuc4 小时前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
近津薪荼4 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
短剑重铸之日5 小时前
《设计模式》第十一篇:总结
java·后端·设计模式·总结