C#-流浪数据与可测试性

我现在没有做很多新的开发工作,但是对旧的C#子系统进行了很多重构,这些原来的需求不再支持新的C#子系统,而我将添加意外的需求.我现在也在尽可能使用Rhino Mocks和单元测试(与2008年相比).

对我来说,难题是要使这些方法可测试和可模拟,我需要使用接口定义明确的“合同”.但是,如果执行此操作,则许多类使用的许多全局数据将变成流氓数据,从一个方法传递到另一个方法,直到到达目标用户为止.这看起来很丑陋,违背了我的感觉,但是……可以嘲笑.使混合袋类具有很多静态全局属性是一个更有吸引力的选择,但Rhino无法测试.两者之间是否有中间立场?可测试但不是太流浪汉?模式也许?

您还应该理解,这些应用程序在公司内部开发的平台上运行,因此有很多帮助程序类和服务,每个应用程序实例化一次,然后在整个应用程序中使用,例如数据库访问器帮助程序类.另一个示例是使用一次读取的配置文件,由于各种原因,配置文件在整个应用程序中通过不同的方法使用.

您的想法表示赞赏.

解决方法:

您可能要看的是Service Locator Pattern的某种形式.让他们的班级找到自己的流浪汉.

其他一些合理的选择将包括在某种“应用程序上下文”类中包装大量常用的东西.

您还可能希望研究依赖项注入(如果尚未进行的话).

上一篇:Javascript“财产继承”


下一篇:使用SQLite3诱变剂优化Python代码