在应用程序设置,数字/字符串表示或对象中存储什么?

时间:2010-05-13 09:23:35

标签: .net configuration settings application-settings

我一直在考虑在项目设置,对象或这些对象的数字/字符串表示中存储什么来设置规则,并避免在将来考虑这一点,所以我想采取最好的方法。

一方面,存储对象表示法授予您存储的内容有效,并使您无需在每次访问时进行转换。您只需要具有该属性的对象。

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

你对这个问题做了什么?

1 个答案:

答案 0 :(得分:1)

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

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

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

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