设计模式:Facate

先来看一下四巨头对Facate的定义: Provide a unified interface to a set of interfaces in a subsystem. Façade defines a higher-level interface that makes the subsystem easier to use.  提供一个统一的接口给子系统的一系列借口,其定义了一个更高层次的接口使子系统更加容易使用。

为了降低系统的复杂性,我们会将一个系统划分为很多个子系统,请看下面一个复杂系统:

但是客户该怎么办呢?面对着各种各样的子系统,有一些他们压根就不关心,有时候他们会觉得烦恼,觉得复杂。

而且有时候子系统的复杂性会越来越大,在这种情况下Facate是最好的处理方法,请看下图:

在上图中我们给用户提供了一个门面,把客户关心的子系统统一起来管理,这样对于一些比较简单的客户就可以直接使用Facate,而不需要跳进到一个 复杂的主系统里面。当然,对于一些要求比较高的客户,它可以直接跨过Facate层,直接到主系统里面去调用。由上面可以看到,该方法在重构代码系统的时 候经常是会用到的,关于重构大家可以看看我转载的一篇关于“重构”的文章。连接这个网址:http://www.dofactory.com/Patterns/PatternFacade.aspx#_self2  可以看到一个例子。

参考资料:

http://www.dofactory.com/Patterns/Patterns.aspx

《设计模式:可复用面向对象软件的基础》

 

转自 http://blog.csdn.net/blucexi/archive/2006/09/22/1267182.aspx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值