2024 Clojure状态调查!分享你的想法。

欢迎!请参阅关于页面以了解更多关于此网站的信息。

0
Clojure
编辑

嗨,我想知道Clojure应用程序的插件系统有没有最佳实践。

这里所说的插件系统是指第三方编写作为Clojure应用程序插件加载的Clojure代码的结构或协议,而不需要重新编译应用程序。

一个示例用例是,一个Clojure应用程序旨在加载和转换某些数据集。它应该允许第三方编写插件,可以通过将代码部署到特定文件夹将其加载到转换管道中。应用程序不需要重新编译。

是否有一些最佳实践可以实现这一点?

希望这是Clojure的方式,而不是Java的方式。

提前感谢。

1 答案

+1

编辑

可以将“插件”(jar文件)放在类路径上,解析表示由“插件”提供的功能的符号,并对其进行调用。

既然你本就不用编译Clojure,就没有必要“重新编译”。

(编辑:还需要require函数的命名空间,以便在解析符号之前让Clojure加载该函数。)

听起来很棒。谢谢。
...