c – 全球各州是什么?它们如何影响可测试性以及如何避免它们?
发布时间:2020-12-16 09:31:48 所属栏目:百科 来源:网络整理
导读:列出全局变量,单例对象等各种全局状态, 我读到它们会影响代码的可测试性.您能解释一下有助于提高代码可测试性的全局状态替代方案吗? 解决方法 从可测试性的角度来看,全局变量和单例非常相似,因此它们不必单独处理.良好的OO设计应该像乐高积木一样,以便创建
列出全局变量,单例对象等各种全局状态,
我读到它们会影响代码的可测试性.您能解释一下有助于提高代码可测试性的全局状态替代方案吗? 解决方法
从可测试性的角度来看,全局变量和单例非常相似,因此它们不必单独处理.良好的OO设计应该像乐高积木一样,以便创建最终的系统.全局变量的主要问题是你失去了隔离.当您使用全局变量或单例访问协作者时,这些类不再是您可以轻松获取和重组的单独块,可以单独使用或在另一个项目中重用.当你拿一些依赖于全局变量的类时,用它拖动设计的其余部分.在测试中,这会产生问题,因为您必须采取额外步骤来切断从类到协作者的连接,以便您可以单独测试它. (我在我的博客上写了
more about this.)
解决该问题的一个很好的解决方案是从外部提供类依赖项.您只需介绍某种机制(可能是一个简单的类),它将采用所有孤立的砖块并将它们连接到构成应用程序的对象图形中.这就是控制和依赖注入的反转. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |