JAVA设计模式:外观(Facade)

       外观模式为子系统中的一组接口提供一个一致的界面。Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

       网上有许多安保系统应用外观模式的例子,在这里我举一个客服中心的例子,客户投诉一般会经过以下一系列操作:登记投诉信息、分配受理部门、提交投诉信息。

       没有客服MM的时候,客户投诉需要自己操作登记信息、分配部门并且提交投诉等,我相信你一定会很快疯掉。

没有客服MM

       有了个客服MM后,用户直接和客服打交道,由客服MM替我们完成后继的操作。

有了客服MM

       在上面的例子里,服务MM的角色就是外观模式中定义的Facade(也有人称之为“门面”)。对于一系列复杂的操作(也就是程序中的子应用),用户并不关心这些操作的细节。这时我们需要提供一个统一访问这些复杂操作的入口,针对各子应用的所有操作都是通过这个入口来完成,对于用户来说,只关心这个入口提供的功能就可以了。

       外观模式主要强调两方面的内容,一是所有对子应用的访问必须通过统一的入口来完成,二是这个入口只是被用来访问子应用中复杂的操作,不允许添加其它的业务逻辑。

       上面客服MM的例子使用外观模式来实现,代码如下:

class OperationRegist{
	void regist(){
		//处理投诉的登记
	}
}

class OperationDispatch{
	void dispatch(){
		//处理投诉的分配
	}
}

class OperationSubmit{
	void submit(){
		//处理投诉的提交
	}
}

class OperationFacade{
	OperationRegist op1 = new OperationRegist();
	OperationDispatch op2 = new OperationDispatch();
	OperationSubmit op3 = new OperationSubmit();
	
	void operate(){
		op1.regist();
		op2.dispatch();
		op3.submit();
	}
}

      阅读全文



      更多精彩原创文章请关注笔者的原创博客: http://www.coolfancy.com



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值