设计模式---外观

一、功能

    为子系统中的各类提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。 

二、优缺点
    优点:用户不需要直接与子系统打交道,只需要与Facade交互就可以了,方便了对子系统的使用。

三、示例代码

namespace DesignPattern_Facade
{
	// class Subsystem_ClassA
	class Subsystem_ClassA
	{
	public:
		void OperationA() {}
	} ;

	// class Subsystem_ClassB
	class Subsystem_ClassB
	{
	public:
		void OperationB() {}
	} ;

	// class Subsystem_ClassC
	class Subsystem_ClassC
	{
	public:
		void OperationC() {}
	} ;

	// class Facade
	class Facade
	{
	public:
		void OperationWrapper()
		{
			a.OperationA() ;
			b.OperationB() ;
			c.OperationC() ;
		}
	private:
		Subsystem_ClassA a ;
		Subsystem_ClassB b ;
		Subsystem_ClassC c ;
	} ;
}

客户端代码:
{
	using namespace DesignPattern_Facade ;

	Facade facade ;
	facade.OperationWrapper() ;
}
   从上代码可看出,客户不需要直接调用Subsystem_ClassA等类的函数,而由Facade封装了客户的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值