blu*_*lds 2 .net database-abstraction static-class asp.net-mvc-3
我正在寻找一个处理MVC3/.Net应用程序的数据库访问的类.
该类是静态的,为常见的数据库查询提供了很好的方便方法 - 各种各样的东西,如"GetColumnBValueForColumnA()",以及更复杂的查询.对于给定的解决方案和域,它是一个很好的因子/优化因素.
然而,看到这个类是静态的,引发了一些关于这可能是一个坏主意的遗忘的记忆(也许是在多线程的背景下?),我无法摆脱这种感觉.
保持这种类静态是一个好主意,还是应该为每个数据库调用实例化它?
保持这种类静态是一个好主意,还是应该为每个数据库调用实例化它?
如果您关心应用程序层之间的弱耦合,这些层的可重用性,单独的单元测试,则不应该执行上述任何操作.你应该使用抽象.
如果你不关心那些东西那么静态方法就好了.使用静态方法时唯一要小心的是设计它们以便它们是可重入的,并且不依赖于任何共享状态以保证线程安全.在所有情况下,请确保通过将它们包装在using语句中来正确处置所有IDisposable资源,例如数据库连接和命令.
| 归档时间: |
|
| 查看次数: |
1558 次 |
| 最近记录: |