问题描述
我有一个 Java 包,其目的是从外部配置文件(XML、JSON、CSV 等)接收配置参数,将它们转换为 POJO 并以不可变的、可扩展的对象的形式返回给呼叫者。调用者只能读取参数,不能修改它们。如果加载、解析或转换失败,包必须返回一个默认配置对象,其中包含基本的设置数量和预定义的值。将来设置的数量可能会增加,并且可能会有另一个数据源。
基本上,它是一个带有输入和输出的黑匣子。输入可以是任何数据源,具有基本设置,可能会增加。输出是一个 Java 对象,其中包含所有设置(同样可能会增加)。并且它必须是只读的。首先,我想写一个带有基本设置的getter接口,如果设置列表扩展,可以扩展吗?类似的东西
interface Config { ... }
abstract class BasicConfig implements Config {...}
class ExtendedConfig extends BasicConfig {...}
然后我想,如果将来设置列表增加,也许将 XML 解析为 HashMap 可以解决问题。在这种情况下,我可以制作 HashMap<String,Object>
并从中读取任何内容,而无需知道它包含多少设置。
这里最好的设计解决方案是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)