首页 > 代码库 > Facade外观模式(C++实现)
Facade外观模式(C++实现)
外观模式:外观模式的意图是为系统中的大量对象提供一个一致的对外接口,以简化系统的使用。它提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。但外观并不屏蔽系统里的对象,如果需要,用户完全可以越过外观的包装使用底层对象以获得更灵活的功能。
外观模式结构图如下:
给出一个简单的C++实现
#include<iostream>using namespace std;class SubSystemA{public: SubSystemA(){} ~SubSystemA(){} void Operation() { cout<<"SubSystemA operating!"<<endl; }};class SubSystemB{public: SubSystemB(){} ~SubSystemB(){} void Operation() { cout<<"SubSystemB operating!"<<endl; }};class Facade{private: SubSystemA* pSubSyatemA; SubSystemB* pSubSystemB;public: Facade() { pSubSyatemA = new SubSystemA(); pSubSystemB = new SubSystemB(); } ~Facade() { delete pSubSyatemA; delete pSubSystemB; } void Operation() { pSubSyatemA->Operation(); pSubSystemB->Operation(); }};int main(){ Facade *f =new Facade(); f->Operation(); delete f; return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。