设计模式之外观模式

参考资料:
外观模式
Design Patterns - Facade Pattern
外观设计模式

学习这个模式的时候让我想起了阿基米德的一句话:“给我一个支点,我可以把地球撬动起来”,这句话用在外观设计模式上最恰当不过。因为外观设计模就是一个“以小博大”的“快捷键”模式。因为它的定义就是:“隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口”。这句话可以这么理解:“仅仅通过一个接口,就可以访问隐藏了复杂细节的系统!”. 这不就是以小博大嘛!

如果还不了外观模式的意图,想想如下几个问题:
1、你启动汽车的时候是不是仅仅需要一枚钥匙就可以了?你需要了解发动机内部是怎么操作的吗?
2、你开启手机或者电脑的时候,是不是只需要按下开机键就可以了?需要知道电脑或者手机具体怎么启动的吗?
3、打开一个APP,是不是简单的点一下启动icon可以了?需要了解APP的启动细节吗?(我要硬刚一波:面试的时候需要知道APP的启动流程,特别是头条面试,好像是必问的问题).

通过上面几个问题可以知道,外观模式融合了复杂系统的子系统,并且为客户提供了一个简单的接口,这个简单的接口其实就是方便用户使用的接口。 简而言之,与直接调用子系统相比, 外观提供的功能可能比较有限, 但它却包含了客户端真正关心的功能。

事实上,外观模式的优点不止如此,比如因为客户端不需要了解子系统内部的细节,子系统和客户是松耦合的关系,所以子系统可以独立的升级改变而不影响客户端原有的功能。

有了外观模式,把大象放进冰箱只需要三个步骤:打开冰箱、把大象放进冰箱里、关上冰箱。如果没有外观模式,你把大象放进冰箱里的第一步就是你得学会怎么把冰箱组装好,这可不是我们需要关心的工作。我们客户端问题的本质就是把大象放进冰箱里而已。

外观模式其实从代码构建来说没有一个统一的模板,与其说是模式,不如说是一个思想,核心就是“隐藏复杂细节,暴露出客户需要的接口,总得来说外观模式其实就是为复杂系统提供一个快捷方式”.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭梧悠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值