在配置文件中大量使用列表
Intensive use of lists in configuration files
在重构一些遗留系统 (java) 时,我遇到了一个大量使用列表的配置文件。
主要是有一个属性定义了引用参数列表,后面还有对应值的属性,比如:
referencesNames = name1, name2, ...
valuesList1 = name1Value, name2Value, ...
valuesList2 = name1Value, name2Value, ...
问题 - 列表太多而且太长。
我的一个想法是删除参考列表并创建类似的东西:
name1Values = value1, value2, ...
name2Values = value1, value2, ...
尽管如此,这些列表仍然很长,而且很难正确定义它们的值。
另外,引用名称现在是硬编码的,所以如果我想添加一个新的,我必须打开代码来处理相应的 属性。有什么建议吗?
Java配置文件有两种常见选择:Properties
和XML。
转换为 XML 有点复杂,但允许更复杂的配置。 XML 究竟是什么样子取决于你,但这里有一个例子:
<Configuration>
<Reference name="name1">
<Value1>name1Value</Value1>
<Value2>name1Value</Value2>
...
</Reference>
...
</Configuration>
使用 属性 文件,可以使用限定名称删除这些列表:
Value1.name1 name1Value
Value2.name1 name1Value
或者反过来:
name1.Value1 name1Value
name1.Value2 name1Value
在重构一些遗留系统 (java) 时,我遇到了一个大量使用列表的配置文件。 主要是有一个属性定义了引用参数列表,后面还有对应值的属性,比如:
referencesNames = name1, name2, ...
valuesList1 = name1Value, name2Value, ...
valuesList2 = name1Value, name2Value, ...
问题 - 列表太多而且太长。
我的一个想法是删除参考列表并创建类似的东西:
name1Values = value1, value2, ...
name2Values = value1, value2, ...
尽管如此,这些列表仍然很长,而且很难正确定义它们的值。 另外,引用名称现在是硬编码的,所以如果我想添加一个新的,我必须打开代码来处理相应的 属性。有什么建议吗?
Java配置文件有两种常见选择:Properties
和XML。
转换为 XML 有点复杂,但允许更复杂的配置。 XML 究竟是什么样子取决于你,但这里有一个例子:
<Configuration>
<Reference name="name1">
<Value1>name1Value</Value1>
<Value2>name1Value</Value2>
...
</Reference>
...
</Configuration>
使用 属性 文件,可以使用限定名称删除这些列表:
Value1.name1 name1Value
Value2.name1 name1Value
或者反过来:
name1.Value1 name1Value
name1.Value2 name1Value