2010-05-13 28 views
2

我一直在想什么存储在项目设置,对象或数字/字符串表示的这些对象来设置一个规则,并避免在未来这样想,所以我想采取最好的方法。什么存储在应用程序设置,数字/字符串表示或对象?

一方面,存储对象表示允许您存储的内容是有效的,并且在您每次访问时都不会进行转换。你只需要具有属性的对象。

另一方面,存储对象的数字/字符串表示可以简化设置的编辑,因为最后用户将输入数字或字符串信息。

你对这个问题做了什么?

回答

1

有趣的问题。就我个人而言,我尽量不在设置中存储复杂的对象,因为(在我看来,这是主观的),这使维护程序员难以理解代码。我倾向于在设置中使用简单类型(sting,int等)。

如果我有一个具有很多属性的复杂对象,那么我可以将属性值存储在设置文件中。

例如,假设您有一个自定义的ErrorLoggingModule,它具有诸如“DatabaseConnectionString”,“ApplicationID”之类的属性。 (我们使用类似的东西,我们编写的每个应用程序都获得一个唯一的应用程序ID,这为我们的所有应用程序提供了一个中央错误日志数据库。)

我会将每个值存储在设置文件中,有一个记录错误的例程。此例程将创建一个新的ErrorLoggingModule对象,从文件中读取适当的设置,并将设置文件中的值应用于相应的属性,然后执行我需要的任何操作。

+0

如何使ErrorLoggingModule可串行化并直接在设置中写入? – 2010-05-13 10:14:07

+0

对我而言,这对于追随我的维护开发人员来说似乎更难。我可以这样做,但当我提出两个选项时,我倾向于在90%的时间内走更简单的路线。 (除非更简单的路由损害安全性,用户体验或代码清晰度。)在这种情况下,使用设置设计器并使用标准数据类型更简单。 – David 2010-05-13 10:23:52

+0

是的,但是您需要验证存储在那里的所有值,以防万一有人直接编辑配置文件并增加了更多复杂性......也许您是对的...... – 2010-05-13 10:31:15

相关问题