C++ 外观模式
作者:互联网
外观模式又称为Facade,为子系统中的一组接口(相当与上面的模块)提供一个一致的界面。此模式定义了一个高层接口,这个结口使得这一子系统更加easy使用。
我们仅仅需调用高层的函数接口。而不用关心高层内部调用是怎样组合底层方法的。更不用关心底层函数是怎样实现的。
例如,我们须要完成两个工作,要完毕工作1我们须要依次完成子工作Sub_Work1、Sub_Work3;要完成工作2我们须要依次完成子工作Sub_Work2,Sub_Work3,Sub_Work4。为了能让用户与这些子工作分离,我们採用外观模式在中间插入一个工作处理中心Work,这个Work类负责处理用户的需求。
代码实现例如以下:
/* * 设计模式之外观模式 * */ #includeusing 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() { Work w; cout << "总工作1" << endl; w.Work1(); cout << endl << "总工作2" << endl; w.Work2(); return 0; }
标签:外观,Sub,接口,模式,工作,须要,C++ 来源: https://blog.51cto.com/u_12570763/2845400