美文网首页设计模式
设计模式之外观模式(Facade Pattern)

设计模式之外观模式(Facade Pattern)

作者: 新生代农民工No1 | 来源:发表于2021-05-25 18:18 被阅读0次

    外观模式简介

    外观模式是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。

    为什么使用外观模式

    • 降低复杂度:当系统内部较为复杂的时候,通过定义的接口来实现系统内部功能,从而降低原有系统的复杂度;
    • 便捷性:客户端无须关心子系统的工作细节,通过外观角色即可调用相关功能,大大提高了其便携性;
    • 减少相互依赖:客户端与子系统类无需关联,只需要通过外观角色来实现于子系统之间的复杂逻辑关系;

    Note: 外观模式下,用户只需要于外观角色交互,而外观角色内部需要实现系统调用具体的复杂业务逻辑

    组件

    • 外观(Facade):为多个子系统对外提供一个共同的接口;
    • 子系统(Sub System):实现系统的部分功能,客户可以通过外观角色访问它;
    • 客户(Client):通过一个外观角色访问各个子系统的功能;
    外观模式

    应用场景

    • 要为一个复杂的子系统对外提供一个简单的接口
    • 保证子系统的独立性
    • 客户程序与多个子系统之间均存在很大的依赖性
    • 在层次化结构中,可以使用外观模式定义系统中每一层的入口

    举个例子,在智能家居中有一个很经典的场景控制,只要用指纹轻轻打开家门,玄关、过道、客厅的灯光全部自动亮起,窗帘缓缓打开,柔和舒适的灯光瞬间映入眼帘。

    总结

    外观模式的核心主要是由外观类去引用各个子系统,实现由则外观类去调用各个子系统类的,然而客户端只需要引用这个外观类,然后由外观类来调用各个子系统中的方法。

    结尾:欢迎关注我的简书!您的鼓励是我最大动力!

    相关文章

      网友评论

        本文标题:设计模式之外观模式(Facade Pattern)

        本文链接:https://www.haomeiwen.com/subject/mfbqsltx.html