设计模式(de)序列化数据

时间:2014-10-19 17:13:25

标签: xml json design-patterns json.net yaml

假设我在XML,JSON或YAML格式的文件中有一些数据。所有文档都具有相同的逻辑结构。在简单的情况下:所有文件都具有根元素属性Version。

我想创建可以从这种格式读取和写入数据的类:

 enum FileFormat {JSON, XML, YAML};

 class File {
    FileFormat FileFormat { get; } // We cannot change file format
    int Version { get; set; } // We can read/change root attribute Version 
    Load(string fileName, FileFormat fileFormat); // We can load from JSON/XML/YAML formats
    Save (string fileName); // We can save changed  in the same format as we read
}

我应该在加载/保存中使用哪种设计模式来选择正确的串行器/解串器?

1 个答案:

答案 0 :(得分:1)

这是builder pattern的教科书方案。