问题:如何基于配置文件实例化模型?
背景:我有一个模型模拟器应用程序,由几十种不同类型的对象组成,每个对象由其他对象组成(在复杂的组合层次结构中)。我希望能够基于外部配置文件实例化模型。这种任务是否有“标准方法”?
例如,如果我有这样的config.xml文件:
<site>
<facility name="F1">
<tank name="t1"/>
<pipe name="p1"/>
</facility>
<facility name="F2">
...
我想要一个可以解析该文件的Configurator
并创建一个Site对象,该对象由一系列由各种Tank&amp;组成的Facility对象组成。管道设备等(最后我也会反过来坚持模型。)模型配置会经常变化;用户将收集许多不同版本的配置文件。
以下是我见过的一些选项建议,但我还没有使用过任何这些工具,我希望得到一些建议,告知哪些(如果有的话)这些方法可能最适合这个问题。
System.Configuration
中的ConfigurationManager,在app.config中存储设置。 (但不确定如何支持“配置文件的许多不同版本”要求。)(底线:我希望“尽可能做最简单的事情”。但我对这些工具的不熟悉使我无法确定哪一个最简单。)
答案 0 :(得分:1)
选项1:
@JohnSaunders说,不推荐使用创建XmlTextReader的特定方法,而不是XmlTextReader本身。确实如此。看这里: http://msdn.microsoft.com/en-us/library/9khb6435(v=vs.110).aspx
虽然一长串案例是一个选项,但可能不会在代码中创建这样的结。备选方案:
选项2:
我无法看到如何保存app.config中的配置而不是其他某些XML文件与原始问题相关或解决原因。
选项3:
然后不要分散序列化代码。
选项4:
如何查看不那么大的DI框架的源代码,以获取如何做到的想法呢?
HTH