将信息存储在单亲类还是中央静态类中更好
本文关键字:静态类 更好 信息 存储 单亲类 | 更新日期: 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原则,但至少中心静态类方法不会将表单的内部工作方式暴露在外部。
我以前遇到过麻烦,因为我使用了一个包含事物"状态"的静态列表,我发现自己添加了静态函数来"清除"或"更新"列表等。所以我学会了只对静态的事物使用静态类、列表或变量。
如果您在列表中保留可以更改的对象,我会采用实例化的方法。
更新
现在我看到你的列表是一个员工列表,把它转换成静态基本上就是一个全局变量。全局变量不好。我找到了这个答案,很好地总结了它。