2022年2月14日 作者 zeroheart

外观(facade)模式

此模式,可以隐藏系统的复杂性,比如组装好的电脑只给一个开关,内部的供电,对各个硬件的启动,都不需要使用人员关心。

关键代码:在客户端和复杂系统之间再加一层,这一层将调用顺序、依赖关系等处理好。

优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。

缺点:不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。

使用场景: 1、为复杂的模块或子系统提供外界访问的模块。 2、子系统相对独立。 3、预防低水平人员带来的风险。

之前做作过的例子,比如支付接口,对完提供统一的封装,内部调用支付宝、微信、云闪付、银联pos刷卡等的具体细节都不需要关注。

参考:外观模式 | 菜鸟教程 (runoob.com)

来自笔记的例子:

电脑整机是 CPU、内存、硬盘的外观。有了外观以后,启动电脑和关闭电脑都简化了。

直接 new 一个电脑。

在 new 电脑的同时把 cpu、内存、硬盘都初始化好并且接好线。

对外暴露方法(启动电脑,关闭电脑)。

启动电脑(按一下电源键):启动CPU、启动内存、启动硬盘

关闭电脑(按一下电源键):关闭硬盘、关闭内存、关闭CPU