博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搬砖方法论:时序耦合(Temporal Coupling)
阅读量:4147 次
发布时间:2019-05-25

本文共 410 字,大约阅读时间需要 1 分钟。

什么是时序耦合

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

哪些情况会遇到时序耦合

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

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

时序耦合的危害

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

减少时序耦合的手段

  • 【宏观】分层,同层调用达到无时序耦合。
  • 【微观】使用构造注入和函数注入来避免时序耦合。

更多文章详见主页:

转载地址:http://aajti.baihongyu.com/

你可能感兴趣的文章
YUV / RGB 格式及快速转换算法-zt
查看>>
RGB与YUV图像视频格式的相互转换
查看>>
谈谈Unicode编码
查看>>
深入剖析PE文件
查看>>
PE头的应用---插入代码到EXE或DLL文件中
查看>>
RGB-YCrCb
查看>>
RGB颜色空间与YUV等颜色空间之间的转换单元
查看>>
关于图像操作的几个函数
查看>>
刚刚写的一个将图像的某个区域之外的区域变暗的函数
查看>>
随机数产生原理及应用
查看>>
随机数的算法分析
查看>>
随机数生成算法的研究
查看>>
关于图像合成所引申的几个函数
查看>>
Python核心编程中的一个游戏练习题,石头剪刀布
查看>>
Python核心编程中习题(第7章的加密 rot13翻译器)
查看>>
使用DirectShow开发视频采集程序
查看>>
自定义属性访问
查看>>
HTTP和FTP返回值大全
查看>>
Python将Delphi代码生成语法高亮的HTML格式
查看>>
Python核心编程中题目(解析操作Ini配置文件)
查看>>