如何设计一个可以接受任何数据源并将其转换为可扩展的只读配置对象的包?

问题描述

我有一个 Java 包,其目的是从外部配置文件(XML、JSON、CSV 等)接收配置参数,将它们转换为 POJO 并以不可变的、可扩展的对象的形式返回给呼叫者。调用者只能读取参数,不能修改它们。如果加载、解析或转换失败,包必须返回一个认配置对象,其中包含基本的设置数量和预定义的值。将来设置的数量可能会增加,并且可能会有另一个数据源。

enter image description here

基本上,它是一个带有输入和输出的黑匣子。输入可以是任何数据源,具有基本设置,可能会增加输出一个 Java 对象,其中包含所有设置(同样可能会增加)。并且它必须是只读的。首先,我想写一个带有基本设置的getter接口,如果设置列表扩展,可以扩展吗?类似的东西

interface Config { ... }

abstract class BasicConfig implements Config {...}

class ExtendedConfig extends BasicConfig {...}

然后我想,如果将来设置列表增加,也许将 XML 解析为 HashMap 可以解决问题。在这种情况下,我可以制作 HashMap<String,Object> 并从中读取任何内容,而无需知道它包含多少设置。

这里最好的设计解决方案是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)