2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面获取更多关于此功能的信息。

0
Clojure
编辑

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

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

一个用例示例是一个 Clojure 应用程序设计为加载和转换某些数据集。它应该允许第三方编写可以部署到特定目录的插件,这些插件可以加载到转换管道中。应用程序不需要重新编译。

这样做有最佳实践吗?

希望这是 Clojure 风格而不是 Java 风格。

提前感谢。

1 答案

+1
pbwolf
编辑

您可以将“插件”(jar)放在类路径上,解析表示由“插件”提供的函数的符号,并调用它。

既然你无论如何都不需要编译Clojure,所以没有必要进行“重新编译”。

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

听起来不错。谢谢。
...