C#静态类。如何改进代码?

时间:2017-10-02 09:03:55

标签: c# winforms class methods

作为一名前Matlab用户,我发现很难使用类,因为在Matlab中我不习惯使用类。

现在,我有C#Winforms项目,它工作正常,但我觉得它有代码味道,并且有错误的设计模式。我大部分时间都在创建静态类并在该类中实现所有相关方法。在一天结束时,我的项目已经完成了这些静态类。

如果您查看这些代码并提供一些有关如何改进代码的建议,那就太棒了。

  • 我们说我有主窗口,它有3个按钮(添加,更新, 删除数据库中的记录)
  • 然后,我有一个包含所有相关方法的静态类。

所以我的问题是什么是更好的方法来完成同样的事情?

Main.cs

private void AddNewRecord_Click(object sender, EventArgs e)
{
    DatabaseOperations.AddRecord();
}

private void UpdateRecord_Click(object sender, EventArgs e)
{
    DatabaseOperations.UpdateRecord();
}

private void DeleteRecord_Click(object sender, EventArgs e)
{
    DatabaseOperations.DeleteRecord();
}

DatabaseOperations.cs 这是包含所有相关方法的静态类。

namespace MyApp
{
    public static class DatabaseOperations
    { 
        internal static void AddRecord()
        {
            // Implements a method that adding a new record in database
        }

        internal static void UpdateRecord()
        {
            // Implements a method that updating an existing record in database
        }

        internal static void DeleteRecord()
        {
            // Implements a method that deleting an existing record in database
        }
    }
}

1 个答案:

答案 0 :(得分:1)

答案是以面向对象的方式。 这是可以快速做的事情

  • 将DatabaseOperations类和方法更改为公共 非静态的。
  • 在Main.cs中添加一个构造函数以将DatabaseOperation作为 输入
  • 在Program.cs中使用新构造函数初始化Main.cs。
  • ...

此时我认为子弹点不会工作所以这里是一个代码示例: https://github.com/duongthaiha/WinformOODIExample

希望这有帮助