外观模式 C++实现

来源:互联网 发布:wind数据库账号 编辑:程序博客网 时间:2024/05/17 04:45

外观模式(Facade)

      

1/为系统中的大量对象提供一个一致的对外接口,以简化系统的使用。

2/外观是另一种形式的wrapper,它不是包装一个对象,而是包装一组对象,简化了这组对象间的通信关系,给出一个高层次的易用接口。

3/但外观并不屏蔽系统里的对象,如果需要,用户完全可以越过外观的包装使用底层对象以获得更灵活的功能。

作用:为子系统的一组接口提供一个一致的界面。使用户使用起来更加方便。

C++实现:

#include <iostream>

using namespace std;

 

class SubSysOne

{

public:

void MethodOne() { cout << "method one" << endl; }

};

 

class SubSysTwo

{

public:

void MethodTwo() { cout << "method two" << endl; }

};

 

class SubSysThree

{

public:

void MethodThree() { cout << "method three" << endl; }

};

 

class Facade

{

public:

Facade()

{

sub1 = new SubSysOne();

sub2 = new SubSysTwo();

sub3 = new SubSysThree();

}

~Facade()

{

delete sub1;

delete sub2;

delete sub3;

}

void FacadeMethod()

{

sub1->MethodOne();

sub2->MethodTwo();

sub3->MethodThree();

}

private:

SubSysOne* sub1;

SubSysTwo* sub2;

SubSysThree* sub3;

};

 

int main()

{

Facade* test = new Facade();

test->FacadeMethod();

return 0;

}


0 0
原创粉丝点击