我有一个网格,当用户关闭表单时,我想为登录的用户保存一些设置。我已经有了2种实现方法,但我想知道在哪里实现这个功能:
现在我有两种方法,但我可以想象将来需要更多的方法。我该怎么办?
编辑: 我已经看到了一些答案(thnx for the),但是你能说出为什么你会选择那个选项吗?
答案 0 :(得分:1)
我会选择UserSettingsManager
,听起来很合理。
除非绝对需要,否则请避免使用静态类,因为这些类不像普通类那样容易测试/模拟/注入。
答案 1 :(得分:1)
我会选择第二种方法,因为静态类很难模拟。
答案 2 :(得分:0)
由于此功能所需的状态已在当前Windows Principal对象中可用,因此具有静态函数的静态类可以正常使用。
答案 3 :(得分:0)
做你能想到的最简单的事情。如果静态实用程序类使用最少量的代码,请选择它。
该应用程序似乎很简单,这应该没问题。有时候,在以某种方式编码并使用这些方法几次后,你会突然找到一个更好的位置。
如果您将来有另外一种保存设置的方法(比如不同的文件格式或网络服务),那么您可以开始考虑重构它。 总是重构,目标是让事情变得更简单!
答案 4 :(得分:0)
Windows提供具有正确设置权限的文件夹,用于存储特定于用户的信息。
使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
或Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
获取相应的路径。
将此封装在类似UserSettingsManager
的类中......在这种情况下避免使用static
,因为这些是系统相关且可变的。
一些参考文献: