c# - 对于简单函数来说,静态相对于非静态的任何优势

标签 c# asp.net

这只是为了满足我的好奇心。其中一项与另一项相比有什么区别或优势

public static void Save(Guid id, int a, string b)
{
     //Save a and b to the database using PK id
}

结束:

Guid ID {get; set;}
int A {get; set;}
string B {get ;set;}

public void Save()
{
    //Save A and B to the database using PK ID
}

编辑: 好的一些上下文:Web UI 将 JSON 传递给静态页面方法。 Page Method 解析 JSON 并将新变量传递给其他 DLL 中的静态类。然后使用 Entity Framework 来更新数据库。这样可以吗?

最佳答案

我绝对更喜欢实例方法而不是静态方法。原因是静态方法意味着您必须将全局可变状态引入系统中。为了发挥作用,静态方法需要访问某种数据库连接并静态地执行此操作。

应尽可能避免全局可变状态。这是一个迫在眉睫的错误农场,并阻碍 future 对代码库的更改(例如引入多个线程)。

关于c# - 对于简单函数来说,静态相对于非静态的任何优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283071/

相关文章:

asp.net - 如何将我的 WebForm 放置在我想要的位置*叹息*....?

asp.net - 重命名 dbo.AspNetUsers 表

c# - 获取特定日期范围内的记录

C# winforms 将 UserID 值保存到类中

c# - 如何对 C# 接口(interface)进行版本控制?

c# - 像这样制作linq会导致连接池问题吗

c# - 使用存储库模式加入 DbSet

asp.net - MVC 的最佳实践.. ViewModel 绑定(bind)使用接口(interface)示例

c# - 在 asp.net c# 环境中以上一页作为内容发送电子邮件

javascript - Java 脚本未在我的应用程序中执行