设计模式:门面模式

门面模式(外观模式):

将子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。1)它对客户屏蔽子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便。(2)它实现了子系统与客户之间的松耦合关系,而子系统内部的功能组件往往是紧耦合的。(3)如果应用需要,它并不限制它们使用子系统类。

举例,高级语言程序编译的过程:预处理、编译、汇编、链接。为这4个过程提供一个按钮Run,执行Run就会执行这4个过程。

#include<iostream>
using namespace std;
class Preprocess{
	public:
	void doPreprocess(){
		cout<<"do preprocess"<<endl;
	}
};
class Compile{
	public:
		void doCompile(){
			cout<<"do compile"<<endl;
		}
};
class Assemble{
	public:
		void doAssemble(){
			cout<<"do assemble"<<endl;
		}
};
class Link{
	public:
		void doLink(){
			cout<<"do link"<<endl;
		}
};

class Run{
	public:
		void run(){
			Preprocess p;
			Compile c;
			Assemble a;
			Link l;
			p.doPreprocess();
			c.doCompile();
			a.doAssemble();
			l.doLink();
		}
};
int main(){
	Run r;
	r.run();
}
如果没用门面模式,那每次执行程序的时候都要重新写4个过程。

你可能感兴趣的:(设计模式,门面模式)