对于用于存储应用程序设置的XML配置文件,它的类对象是否需要是应用程序中使用的类之一,还是创建一个特殊的配置类并将应用程序中的值转换为使用这些值的其他对象?
例如
假设我想跟踪产品的这3个设置
Name
ID
Color
所以我的配置文件看起来很简单,就像
<Product>
<Name>product1</Name>
<ID>2343435</ID>
<Color>Blue</Color>
</Product>
但是我在应用程序中使用的Product类有更多的属性和方法
像
class Product{
string Name;
string Color;
int ID;
bool isObsolete;
SpecialType ProductProperty;
Product(){}
ObsoleteProduct(){
//do stuff
}
OtherMethod(){
//Do stuff
}
}
那么,我应该从我正在使用的实际Product类中生成XML表示,还是使用只包含我关心的设置的更简单的表单?因为如果我使用更简单的形式,那么我将有两个类,并且我需要在对象之间移动值。
xml序列化和反序列化可以使用属性进行大量配置,如下所述。例如,可以从序列化中省略属性,可以显式指定属性的名称,还可以选择数组类型的序列化样式。
此外,对数组类型的访问是通过ICollection
接口完成的,这允许在插入元素时提供额外的逻辑,这将在本文中讨论。