c# - 静态类和类设计

标签 c# .net static

在设计我的数据访问层时,我想让我的所有类都静态化,这样就不需要对象实例化,并且可以使用类名访问该类的所有成员。

这是一个好方法吗?如果是,那么为什么我们根本需要一个实例类类型。它是否会对 n 个客户端想要访问我的 DAL 的应用程序的性能产生影响,然后可能会因为根本没有创建对象而导致管理请求出现问题?

我知道静态类不能实例化,应该用于日志记录、实用程序方法等,因为所有对象都需要以类似的方式运行,假设所有 DAL 类的行为是否有效/安全相同的方式(具有相同的功能),因此使它们成为静态的而不是实例化它。

请指教。

最佳答案

类型要么在概念上表示与实例相关联的操作,要么不。这里不考虑性能。

如果您的方法没有状态,或者它们的状态被设计为在整个应用程序的所有调用之间共享,那么该方法应该是静态的。如果需要在成员之间共享单独的状态但不与整个应用程序共享,那么它们需要是非静态的。该类型通常会根据它在概念上表示的内容需要其中之一。这不是实际的选择。

关于c# - 静态类和类设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25878297/

相关文章:

c++ - 在派生类中分配时,基类中的静态成员为空

c# - 在 EF Core 中使用 UserManager 进行预加载

c# - 如何将 ObservableConcurrentDictionary 绑定(bind)到 WPF TreeView

c# - 当我尝试从部署 Azure Web 角色的计算机打开站点时出现 404

C# 将 .xlsx 转换为 .xls

c# - 与 VB.NET 相比,为什么 C# IntelliSense 延迟了?

c++ - 在拥有的翻译单元发生静态初始化之前,文件范围的静态对象是否已初始化为零?

C++ 静态类成员和非默认构造函数

c# - 无法解析 Nuget 包的版本

c# - 如何在 C# 中最小化单个 Windows 应用程序窗体