门面(Facade)模式 一

Facade模式也叫外观模式

在《设计模式》一书中他是这样叙述的:
    为子系统中的一组接口提供一个统一的接口。Facade模式定义了一个更高的接口,使子系统更加容易使用。
Facade模式的关键特征

意图:希望简化原有系统的使用方法,需要定义自己的接口。
问题:只需要使用某个复杂系统的子集,或者,需要以一种特殊的方式与系统交互。
解决方案:Facade为原有系统的客户提供了一个新的接口。
参与者与协作者:为客户提供的一个简化的接口,使系统更容易使用。
效果:Facade模式简化了对所需子系统的使用过程。但是,由于Facade并不完整,因此客户可能无
法使用完整的功能。
实现:定义一个或多个具备所需接口的新类。
      让新的类使用原有的系统。

设计模式的通用结构图:


其实,Facade模式还可以增加新的功能,就是在原有的系统上增加功能,还有就是可以隐藏或封装
原来系统的部分功能。避免用户与复杂的系统接触,方便使用。

举例说明:
假设现在有一头大象,你要通过一个系统把他放到冰箱里,该系统有三步:
1、打开冰箱门
2、放大象到冰箱里
3、关上冰箱门
现在有A,B用户使用该系统,如图:


从上图大家可以看出,用户操作起来相当复杂,如果还有其他的功能如设置冰箱的温度等,操作起来就更复杂了。现在在该系统和用户之间增加一层。
再看应用了设计模式之后:


怎么样,是不是简单多了,既方便用户使用,又达到了系统封装,而且增加一些功能也不影响用户的使用,如果开始的架构,增加了功能则又要到用户端来调用,非常不方便。
 

小结
    Facade模式可以应用于:
    1、不需要使用一个复杂系统的所有功能,而且可以创建一个新的类。
    2、希望封装或者隐藏原来的系统。
    3、希望使用原来系统的功能,而且还希望增加一些新的功能。
    4、编写新类的成本小于所有人学会或者未来维护原系统上所需的成本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值