gpt4 book ai didi

.net - 使用静态方法与数据库交互——有什么潜在问题吗?

转载 作者:行者123 更新时间:2023-12-04 06:26:42 27 4
gpt4 key购买 nike

我正在查看一个处理 MVC3/.Net 应用程序数据库访问的类。

该类是静态的,并为常见的数据库查询提供了很好的便利方法 - 各种复杂的东西,如“GetColumnBValueForColumnA()”,以及更复杂的查询。它针对给定的解决方案和领域进行了很好的分解/优化。

不过,将类视为静态的,触发了一些几乎已被遗忘的内存,即这可能是一个坏主意(也许在多线程的上下文中?),我无法摆脱这种感觉。

让这种类保持静态是个好主意,还是我应该为每次数据库调用实例化它?

最佳答案

Is it a good idea to keep this kind of class static, or should I be instantiating it for each database call?

如果您关心应用程序各层之间的弱耦合、这些层的可重用性、孤立的单元测试等问题,则不应执行上述任何操作。你应该使用抽象。

如果您不关心这些事情,那么静态方法就可以了。使用静态方法时唯一要小心的是将它们设计为 reentrant并且不依赖于任何共享状态以确保线程安全。在所有情况下,请确保通过将它们包装在 using 语句中来正确处置所有 IDisposable 资源,例如数据库连接和命令。

关于.net - 使用静态方法与数据库交互——有什么潜在问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com