外观模式

上帝对象:

外观模式为现有对象定义了一个新接口, 适配器模式则会试图运用已有的接口。 适配器通常只封装一个对象, 外观通常会作用于整个对象子系统上。

示例:

#include<iostream>
using namespace std;

class Sub_Work1//子工作1
{
public:
    void Working1()
    {
        cout << "Doing Sub-Work1..." << endl;
    }
};

class Sub_Work2//子工作2
{
public:
    void Working2()
    {
        cout << "Doing Sub-Work2..." << endl;
    }
};

class Sub_Work3//子工作3
{
public:
    void Working3()
    {
        cout << "Doing Sub-Work3..." << endl;
    }
};

class Sub_Work4//子工作4
{
public:
    void Working4()
    {
        cout << "Doing Sub-Work4..." << endl;
    }
};

class Work//总工作,客户与之打交道
{
private:
    Sub_Work1 w1;
    Sub_Work2 w2;
    Sub_Work3 w3;
    Sub_Work4 w4;
public:
    void Work1()//总工作1
    {
        w1.Working1();
        w3.Working3();
    }
    void Work2()//总工作2
    {
        w2.Working2();
        w3.Working3();
        w4.Working4();
    }
};


int main()//client程序
{
    Work w;
    /*******总工作1******/
    cout << "开始调用总工作1" << endl;
    w.Work1();

    /*******总工作2******/
    cout << endl << "开始调用总工作2" << endl;
    w.Work2();

    getchar();
    return 0;
}

输出:

开始调用总工作1
Doing Sub-Work1...
Doing Sub-Work3...

开始调用总工作2
Doing Sub-Work2...
Doing Sub-Work3...
Doing Sub-Work4...




参考:

https://www.guyuehome.com/37693

posted @ 2022-09-17 11:37  double64  阅读(29)  评论(0)    收藏  举报