设计模式之- 外观模式(Facade Pattern)
Posted j1ac
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之- 外观模式(Facade Pattern)相关的知识,希望对你有一定的参考价值。
外观模式
外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。
C++代码:
#include<iostream> using namespace std; class Shape { public: virtual void draw()=0; }; class Rectangle : public Shape { public: void draw() { cout<<"Rectangle::draw()"<<endl; } }; class Square : public Shape { public: void draw() { cout<<"Square ::draw()"<<endl; } }; class Circle : public Shape { public: void draw() { cout<<"Circle ::draw()"<<endl; } }; class ShapeMaker { Shape *circle; Shape *rectangle; Shape *square; public: ShapeMaker() { circle = new Circle(); rectangle = new Rectangle(); square = new Square(); } void drawCircle(){ circle->draw(); } void drawRectangle(){ rectangle->draw(); } void drawSquare(){ square->draw(); } }; class FacadePatternDemo { public: static void method(int argc,char**argv) { ShapeMaker *shapeMaker = new ShapeMaker(); shapeMaker->drawCircle(); shapeMaker->drawRectangle(); shapeMaker->drawSquare(); } }; int main(int argc,char**argv){ FacadePatternDemo::method(argc,argv); return 0; }
类图:
外观模式感觉最简单了,相当于把几个独立的接口写了一个统一的包装类进行了合并,并向外提供统一的调用接口,代码一看便知!
以上是关于设计模式之- 外观模式(Facade Pattern)的主要内容,如果未能解决你的问题,请参考以下文章