• GoF之外观模式(Facade)


    外观模式的定义


      外观模式在GOF中的解释:为子系统定义一组统一的接口,这个高级的接口会让子系统更容易被使用


      BattleScene类调用GameSystemFacade的方法,与直接在BattleScene类中写相比,可以将BattleScene单一化,让该类只负责游戏在战斗状态下的

    功能执行,和状态切换,不用负责串接各个游戏系统的初始化和功能调用。减少BattleScene不必要的类引用及功能的整合,增加了它的复用性。


     

    整合子系统并提供一个高级的界面让客户端使用

      好比一台电视,电视的内部(系统的内部)组成我们不需要了解,各个系统之间是怎么工作的也不需要知道,我们只需要会使用遥控器(Facade),

    使用遥控器,我们就可以观看想看的节目。外观模式可以让客户端使用简单的界面来操作一个复杂的系统,并减少客户端要与之互动额系统数量,让

    客户端能够专心处理与本身有关的事情。


     外观模式的优点

      节省时间

      Unity3D本身提供了不少Facade接口,例如物理引擎,渲染系统,粒子系统等,就是由各自的Component类来充当的。用的时候只需添加,然后修改

    参数,为我们节省了不少时间。

      易于分工开发

      对于一个即庞大又复杂的系统而言,应用外观模式,开发者只需要编写自己负责的系统的Facade接口类,然后提供给别的一定的接口,就能方便团队

    项目开发。

      增加系统的安全性

       隔离客户端对子系统的接触,除了减少耦合度之外,安全性也是重点之一。

      需求变化时候

      能将修改的范围减少到Facade类中。


     

    外观模式的注意事项

      注意将所有的子系统集中在一个Facade接口类中的时候,最终会导致Facade接口类过于庞大增加继续维护的难度。可以重构Facade接口类,将功能相近

    的子系统进行整合,减少内部系统的依赖性,或是整合其他设计模式来减少Facade接口类过度膨胀。


    其他方面的应用

      不同数据库引擎操作的整合

      

  • 相关阅读:
    myfocus之焦点图
    win7磁盘分区工具
    java线程两种创建方式的区别与模拟买票情景
    jsp指令与动作
    Cookie记住登陆账号和密码
    jsp+javabean实现简单的用户登陆
    jsp简单登陆实现
    strut2 文件上传完整案例
    poi 导出excel文件
    poi excel文件的导入
  • 原文地址:https://www.cnblogs.com/springword/p/8205710.html
Copyright © 2020-2023  润新知