所以我在 Java 中为 Accumulo 构建各种索引和摄取类。
但我的问题没有直接关系。
我有一个属性文件,存储一个长列表(假设有两打并且还在增长)关键字和数据库表名。
现在,当我的主类被实例化时,我将所有这些属性读入它们相关的 String 对象并在整个过程中使用它们。然而,其中一些项目需要传递给其他类,有时是大块传递。
我想我的选择是
我对此感到担忧,因为过去我主要是嵌入式和小型系统的 C++ 开发人员。这是我的第一个大型项目之一,所以我试图从一开始就做事。我已经有一堆书,包括设计模式,只是为了让我的脚湿透,但是任何一般的编程实践知识库我都会很乐意接受建议。
我试图将其概括化,以便其他人受益,但可能需要更多细节,请告诉我。
最佳答案
选项(2)似乎是一个好方法。
一种变体是将所有字符串从主 Properties 对象提取到单独的 Properties(或 HashMap)对象中,可能基于元素名称的前缀。因此类Foo
获取名称以 foo.
为前缀的所有属性, 类(class) Bar
获取所有 bar.xxx
属性等等。
这将属性保存在逻辑上(和物理上)单独的集合中,并为给定的类提供它需要的那些属性。如果所有类都需要共享公共(public)属性(可能带有 all.
或 global.
前缀,或者根本没有前缀),则可以将这些属性添加到每个单独的 Properties 对象中。
关于java - Java中处理复杂配置的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12944055/