设计模式之Facade模式

来源:互联网 发布:轩辕传奇金币淘宝 编辑:程序博客网 时间:2024/05/17 23:48

 

Facade.h

#ifndef _FACADE_H_#define _FACADE_H_class CSubSystem1{public:CSubSystem1();~CSubSystem1();void Operatorion();private:};class CSubSystem2{public:CSubSystem2();~CSubSystem2();void Operatorion();private:};class CFacade{public:CFacade();~CFacade();void OperatorWapper();private:CSubSystem1 *_subs1;CSubSystem2 *_subs2;};#endif

Facade.cpp

#include <iostream>#include "Facade.h"using namespace std;CSubSystem1::CSubSystem1(){}CSubSystem1::~CSubSystem1(){}void CSubSystem1::Operatorion(){cout<<"CSubSystem1::Operatorion()"<<endl;}CSubSystem2::CSubSystem2(){}CSubSystem2::~CSubSystem2(){}void CSubSystem2::Operatorion(){cout<<"CSubSystem2::Operatorion()"<<endl;}CFacade::CFacade(){this->_subs1=new CSubSystem1;this->_subs2=new CSubSystem2;}CFacade::~CFacade(){if(_subs1){delete _subs1;_subs1=0;}if(_subs2){delete _subs2;_subs2=0;}}void CFacade::OperatorWapper(){_subs1->Operatorion();_subs2->Operatorion();}

Main.cpp

#include <iostream>#include "Facade.h"using namespace std;int main(){CFacade *_fde=new CFacade();if(_fde)_fde->OperatorWapper();if(_fde){delete _fde;_fde=0;}return 0;}

原创粉丝点击