【发布时间】:2011-03-31 05:30:30
【问题描述】:
我现在没有做太多新的开发,而是对旧的 C# 子系统进行大量重构,这些子系统的原始要求不再支持新的,我将添加意想不到的要求。我现在也在尽可能使用 Rhino Mocks 和单元测试(与 2008 年相比)。
我的困境是,为了使方法可测试和可模拟,我需要使用接口定义清晰的“合同”。但是,如果我这样做,许多类使用的大量全局数据会变成流浪数据,从一个方法传递到另一个方法,直到它到达目标用户;这看起来很丑陋,并且违背了我的感受,但是……可以被嘲笑。制作具有大量静态全局属性的混合包类是一个更有吸引力的选择,但 Rhino 无法测试。两者之间有中间立场吗?可测试但不太笨拙?也许是模式?
您还应该了解,这些应用程序运行在公司内部开发的平台上,因此有很多帮助程序类和服务,每个应用程序实例化一次,然后在整个应用程序中使用,例如数据库访问器助手类。另一个例子是使用一次读取的配置文件,并出于各种原因通过不同的方法在整个应用程序中使用。
感谢您的想法。
【问题讨论】:
标签: c# design-patterns architecture refactoring rhino-mocks