数据访问层中的静态方法

时间:2011-04-10 18:11:31

标签: c# .net data-structures data-access-layer

我在数据访问层(DAL)中使用了很多静态方法,如:

public static DataTable GetClientNames()
{
    return CommonDAL.GetDataTable("....");
}

但我发现有些开发人员不喜欢DAL中静态方法的想法。我只是需要一些理由在DAL中使用或不使用静态方法。

由于

3 个答案:

答案 0 :(得分:3)

从纯粹主义者的角度来看,这违反了各种最佳实践(例如,依赖于实现,紧密耦合,不透明的依赖关系等)。我自己会这样说,但最近我倾向于采用更简单的解决方案,而不会在“enterprizey”功能和流行语中潜水过多。因此,如果没有你编写这样的代码,如果这个架构允许快速开发并且可测试,最重要的是,解决了你的业务问题 - 它很好。

答案 1 :(得分:1)

如果我必须选择一个不使用静态方法的原因,那就是它限制了你对代码编写单元测试的能力。例如,为DAL创建模拟会更加困难,因为没有实际的代码接口,只有一堆静态方法。如果/当您决定采用需要接口的框架来支持IoC,依赖注入等内容时,这进一步限制了您。

答案 2 :(得分:0)

那是Unit of Work,只是静态的,不是吗?