外观(门面)模式--Facade
一、代码示例

#include <iostream> using namespace std; class Carmera { public: void turnOn() { cout << "相机启动" << endl; } void turnOff() { cout << "相机关闭" << endl; } }; class Light { public: void turnOn() { cout << "照明灯开启" << endl; } void turnOff() { cout << "照明灯关闭" << endl; } }; class Sensor { public: void active() { cout << "传感器启动" << endl; } void deactive() { cout << "传感器关闭" << endl; } }; class Alarm { public: void active() { cout << "报警器启动" << endl; } void deactive() { cout << " 报警器关闭" << endl; } }; class SecuritFacade { public: SecuritFacade() { Carmera* m_pCarmera = new Carmera; Light* m_pPLight = new Light; Sensor* m_pSensor = new Sensor; Alarm* m_pAlaram = new Alarm; } void active() { m_pCarmera->turnOn(); m_pPLight->turnOn(); m_pSensor->active(); m_pAlaram->active(); } void deactive() { m_pCarmera->turnOff(); m_pPLight->turnOff(); m_pSensor->deactive(); m_pAlaram->deactive(); } private: Carmera* m_pCarmera; Light* m_pPLight ; Sensor* m_pSensor ; Alarm* m_pAlaram ; }; //LOD int main() { SecuritFacade facade; cout << "-----------启动系统" << endl; facade.active(); // cout << "----------关闭系统" << endl; facade.deactive(); system("pause"); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!