我正在构建一个已经存在多年的应用程序的全新版本。我现在可以用我所做的一些事情来回顾恐怖,但生活的重点是随着我们的进展而学习。现在最好的事情是我有一个干净的石板可供使用,正因为如此,我认为我会向你们寻求一些建议。
用户设置非常适合每个用户自然希望并且应该能够更改的内容,例如主题或视觉样式。应用程序设置应该非常明显地适用于整个应用程序,无论谁使用它。
中间的某个地方虽然是一组设置,但我希望系统管理员有机会进行更改(默认工作期,预约时段,公司想要用作主要交易的货币等等) 。这些不能是用户设置,因为个别用户不应该更改它们,也不应该是应用程序设置,因为我作为开发人员不知道最终用户(或者更确切地说是高级最终用户)想要什么把它们设置为。
很多年前,我可能考虑过将这些设置写入注册表或ini文件。我也许(因为这是一个与自己的自定义数据库紧密集成的应用程序)创建一个关闭设置表,并在程序启动时读取相关设置。我或许可以选择存储在所有用户目录中的单独“通用设置”xml配置文件。显然有很多选择。
我想尝试和建立的是最有效的方法来解决这个问题。文件读写操作之间的最佳折衷是什么,而不是在应用程序启动时将所有内容读入一组公共常量?这些不会是偶尔会被提及的设置,因此效率将成为关键。
这样就不会对应用程序的含义产生任何歧义。传统的winforms,使用vs 2012作为开发ide,vb.net作为基于.net4.5和ef 5.0的代码库。后端数据存储在sql express或完整的sql server中。最终用户的目标操作系统将是Windows 7或更高版本(因此需要尊重uac)。
我欢迎你提出任何建议。