• 设计模式之门面模式


    一、何为门面模式

    门面模式(Facade Pattern) 又叫外观模式,提供了一个统一的接口,用来访问子系统中的一群接口 。其主要特征是定义了一个高层接口,让子系统更容易使用,属于结构型模式。在我们日常编码中也在无意中大量的使用着门面模式,例如ServiceA中调用其他多个Service的方法,然后再将ServiceA的方法暴露给Controller调用,ServiceA就相当于一个门面使得Controller能够间接的调用其他Service子系统,这也就是门面模式的一种应用。
     

    二、门面模式的角色组成


    外观角色(Facade): 也称门面角色,系统对外的统一接口;
    子系统角色(SubSystem): 可以同时有一个或多个SubSystem。每个SubSystem都不是一个单独的类,而是一个类的集合。SubSystem并不知道Facade 的存在,对于SubSystem而言,Facade只是另外一个客户端而已(即Facade对SubSystem是透明的)。
     

    三、应用场景


    Laravel 中的门面
    虽然实现可能不太一样,但在 Laravel 中的门面总体上还是遵循着门面模式的基本思想的。Laravel 中的门面是为应用的服务容器提供一个【静态】接口,相当于是服务容器底层类中的一个【静态代表】,能够提供更加灵活、易于测试、优雅的语法。
     

    redis封装类:

    Cache::get('key');
    

    mysql封装类:

    DB::connection('mysql2')->table('db_test')->get()->toArray();

  • 相关阅读:
    Java锁lock的应用
    看见艺术·听见艺术 飞利浦大艺术家视听盛宴佛山站 圆满结束!
    docker删除镜像
    win10 kms activator
    最长回文子串 Golang leecode_5
    javaweb 使用element + vue 完善项目 servlet 优化
    栈和队列(数据结构、C语言)
    go 并发
    Python基础教程:行与缩进正确用法教程
    JUC并发编程系列详解篇四(线程基础理论)
  • 原文地址:https://blog.csdn.net/hongyucai/article/details/134230420