【问题标题】:Difference between definterface and defprotocol in ClojureClojure中definterface和defprotocol的区别
【发布时间】:2011-12-07 21:20:46
【问题描述】:

除了缺少文档,Clojure 中的definterfacedefprotocol 有什么区别?

【问题讨论】:

    标签: clojure


    【解决方案1】:

    根据 Clojure 的喜悦

    使用definterface 优于defprotocol 的优势受到限制 完全是因为前者允许原始类型 参数和返回。在未来的某个时候,同样的优势 可能会扩展到[由协议]生成的接口,所以使用 definterface 谨慎使用协议,除非绝对 必要的。

    【讨论】:

      【解决方案2】:

      我可能不完全理解是definterface 生成了一个接口 .class,java 代码可以实现该接口,以便创建适合传递给 Clojure 函数的类。

      简而言之,协议是一种比多方法更快、更集中的调度方式。您实际上在其他 clojure 代码使用的协议中运行代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-18
        • 2011-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-25
        相关资源
        最近更新 更多