在哪里执行保存用户特定设置?

时间:2011-10-25 06:43:21

标签: c# winforms implementation

我有一个网格,当用户关闭表单时,我想为登录的用户保存一些设置。我已经有了2种实现方法,但我想知道在哪里实现这个功能:

  • 我应该使用两种方法
  • 创建一个静态Utility类
  • 我应该创建一个新类,并将其命名为UserSettingsManager吗?

现在我有两种方法,但我可以想象将来需要更多的方法。我该怎么办?

编辑: 我已经看到了一些答案(thnx for the),但是你能说出为什么你会选择那个选项吗?

5 个答案:

答案 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,因为这些是系统相关且可变的。

一些参考文献: