我的应用程序遵循多个规范,这些规范非常相似,但需要不同的动词来执行相同的操作。例如,一个规范说jump
,而另一个说hop
。
我正在寻找类似CultureInfo
(或者甚至可能CultureInfo
的东西,但我认为这是不好的做法)来定义这些动词。它必须在运行时可配置(规范更改不需要重新编译)。
答案 0 :(得分:1)
您可以使用xml文件来存储动词
<?xml version="1.0" encoding="UTF-8" ?>
<verbs>
<verb name="jump", spec="spec1">jump</verb>
<verb name="jump", spec="spec2">hop</verb>
<verb name="consume_food", spec="spec1">eat</verb>
<verb name="consume_food", spec="spec2">feed</verb>
</verbs>
或按规范组织
<?xml version="1.0" encoding="UTF-8" ?>
<specs>
<spec name="spec1">
<verb name="jump">jump</verb>
<verb name="consume_food">eat</verb>
</spec>
<spec name="spec2">
<verb name="jump">hop</verb>
<verb name="consume_food">feed</verb>
</spec>
</specs>
或者为每个规范使用不同的文件
文件:spec1.xml
<?xml version="1.0" encoding="UTF-8" ?>
<verbs>
<verb name="jump">jump</verb>
<verb name="consume_food">eat</verb>
</verbs>
文件:spec2.xml
<?xml version="1.0" encoding="UTF-8" ?>
<verbs>
<verb name="jump">hop</verb>
<verb name="consume_food">feed</verb>
</verbs>
最后,在单独的配置文件中,定义选择了哪个规范。它可以是仅包含规范名称的纯文本文件,也可以是包含不同应用程序设置的另一个xml文件。
我个人认为使用旧式ini文件很方便。即使没有程序员也很容易阅读和更改。