gpt4 book ai didi

java - 用java编写接口(interface)的设计建议

转载 作者:行者123 更新时间:2023-12-02 07:21:17 25 4
gpt4 key购买 nike

我是 Java 新手,但我实际上很喜欢它,因为无论你相信与否,它正在改进我的编码方式。 (我猜是因为它迫使你以面向对象的方式编写代码)

无论如何,我正在编写一个如下所示的java库。在此基础上有核心库,然后在其之上构建了一些工具包。

现在所有工具包都有部分代码是共同的。

例如,读取该工具包的配置文件。示例:toolkitA/config/config.cfg

config.cfg
inputDir = /path/to/input
outputDir = /path/to/output



toolkitB/config/config.cfg

config.cfg
inputDir = /path/to/input
// no output here.. maybe this toolkit is just to analyze the input

问题是..很多配置都是未知的,因为我仍在创建工具包,甚至我不知道将来会有什么工具包。

目前,代码流程如下。

 main--> readconfig-->parseconfig--> execute the source code with params. 
parsed from the source parseconfig

我的关键问题是,由于这些配置文件位于工具包级别,这些配置根本不与源代码库连接。核心库忽略了这些参数实际上是由用户在配置文件中设置的事实。现在...也许是因为java,但我发现这非常肤浅。我想要的是这样的东西

  main--> a core config file setter which reads and parses this tool kit config file --> 
the core library then interacts with these objects rather than the superficial level.

我如何实现这一目标。

(作为一个狂热的 stackoverflow 用户..我知道..它并不是真正的“错误”相关问题,但我不知道要搜索什么或如何设置此类配置内容..我所拥有的就是我想要的想法这件事要实现..:( )

最佳答案

嗯...你的 cfg 文件就像 Properties ,这接受 load 中的“InputStream”

其次,您可以将这些配置发布到类路径中并使用 getResourceAsStream 作为输入流加载

InputStream is = Object.class.getClass().getResourceAsStream(CONFIG_FILE);
Properties cfg = new Properties();
cfg.load(is);

关于java - 用java编写接口(interface)的设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14182484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com