我在数据访问层(DAL)中使用了很多静态方法,如:
public static DataTable GetClientNames()
{
return CommonDAL.GetDataTable("....");
}
但我发现有些开发人员不喜欢DAL中静态方法的想法。我只是需要一些理由在DAL中使用或不使用静态方法。
由于
贝
答案 0 :(得分:3)
从纯粹主义者的角度来看,这违反了各种最佳实践(例如,依赖于实现,紧密耦合,不透明的依赖关系等)。我自己会这样说,但最近我倾向于采用更简单的解决方案,而不会在“enterprizey”功能和流行语中潜水过多。因此,如果没有你编写这样的代码,如果这个架构允许快速开发并且可测试,最重要的是,解决了你的业务问题 - 它很好。
答案 1 :(得分:1)
如果我必须选择一个不使用静态方法的原因,那就是它限制了你对代码编写单元测试的能力。例如,为DAL创建模拟会更加困难,因为没有实际的代码接口,只有一堆静态方法。如果/当您决定采用需要接口的框架来支持IoC,依赖注入等内容时,这进一步限制了您。
答案 2 :(得分:0)
那是Unit of Work
,只是静态的,不是吗?