相关疑难解决方法(0)

在Clojure中定义SPI

我正在寻找一种惯用的方法来定义Clojure中可以由外部"服务提供商"实现的接口.我的应用程序将在运行时定位并实例化服务提供者模块,并将某些职责委托给它.

例如,假设我正在实现RPC机制,并且我希望允许在配置时注入自定义中间件.该中间件可以预处理消息,丢弃消息,使用日志包装消息处理程序等.

我知道有几种方法可以做到这一点,如果我回到Java反射,但觉得在Clojure中实现它将有助于我的理解.

(注意,我在这里一般意义上使用SPI,而不是特别指它在JAR文件规范中定义的方式)

谢谢

clojure service-provider

3
推荐指数
2
解决办法
477
查看次数

标签 统计

clojure ×1

service-provider ×1