美文网首页
搬砖方法论:时序耦合(Temporal Coupling)

搬砖方法论:时序耦合(Temporal Coupling)

作者: su9257_海澜 | 来源:发表于2021-04-05 22:00 被阅读0次

    什么是时序耦合

    在两个或更多的类型、成员之间,必须先调用一个才能调用另一个。这种必须按照特定顺序调用的耦合关系叫做时序耦合。

    哪些情况会遇到时序耦合

    • 读取json、excel等数据时,必须先调用Initialize这类的函数。
    • Lua文件中的全局Helper类,在业务逻辑中使用需要显示的调用Require后才能使用。
    • 使用各种Manager时,需要手动再次确认是否进行了初始化。

    以上的示例,都是一种"design smell",需要我们十分注意。

    时序耦合的危害

    • 造成学习成本的提高,在使用时需要各种注意事项。
    • 修改变得困难,这种顺序上的耦合可能会将本应该无关的类型绑定在一起,对其中的一个修改会造成另一个使用的bug。
    • 这种时序耦合常常会造成偶现bug,而偶现bug一般是非常难以定位。

    减少时序耦合的手段

    • 【宏观】分层,同层调用达到无时序耦合。
    • 【微观】使用构造注入和函数注入来避免时序耦合。详见:注入的三种方式

    更多文章详见主页:www.aihailan.com

    相关文章

      网友评论

          本文标题:搬砖方法论:时序耦合(Temporal Coupling)

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