将信息存储在单亲类还是中央静态类中更好

本文关键字:静态类 更好 信息 存储 单亲类 | 更新日期: 2023-09-27 17:59:03

我想知道哪种方式存储信息更好?中心静态类还是父类?

我现在存储它的方式的代码。我每次都安排一个新班级。

父类:

public partial class frmEmployeeManager: Form
    {
        List<Employee> lstEmployees = List<Employee>();
        public frmEmployeeManager()
        {
            InitializeComponent();
        }
        public void updatePay(float Pay, int ID)
        {
            //Where ID = ID change the Pay
            //(Omitted the foreach loop here for brevity)
        }
        private void btnDisplayData_Click(object sender, EventArgs e)
        {
             frmUpdatePay dlgUpdatePay = new frmUpdatePay(this);
             dlgUpdatePay.ShowDialog();
        }
     }

儿童班:

public partial class frmUpdatePay : Form
{
    private frmEmployeeManager ParentEmployeeManager;
    public frmUpdatePay(frmEmployeeManager EmployeeManager)
    {
        InitializeComponent();
        ParentEmployeeManager = EmployeeManager;
    }
            AddPersonParent.updatePay(fltPayInput, intID);
}

将信息存储在单亲类还是中央静态类中更好

在黑暗中尝试(因为我不知道你到底想完成什么),我会创建一个实例化的类并使用singleton模式。

就我个人而言,我会(并且确实)使用一个中心静态类。这两种选择都打破了OO原则,但至少中心静态类方法不会将表单的内部工作方式暴露在外部。

我以前遇到过麻烦,因为我使用了一个包含事物"状态"的静态列表,我发现自己添加了静态函数来"清除"或"更新"列表等。所以我学会了只对静态的事物使用静态类、列表或变量。

如果您在列表中保留可以更改的对象,我会采用实例化的方法。

更新

现在我看到你的列表是一个员工列表,把它转换成静态基本上就是一个全局变量。全局变量不好。我找到了这个答案,很好地总结了它。