Javascript Node.js如何实现多态性?

Javascript Node.js如何实现多态性?,javascript,node.js,abstraction,Javascript,Node.js,Abstraction,我正在尝试使用node.js和其他相关技术实现一个应用程序。来自java的标题是多态性,但很自然,但对于经典的程序员节点,工作方式不同 应用程序将在用户提供的运行时加载新代码。为了让主核心使用该代码,“我们”需要就某种约定达成一致。知道Node有多新,我并没有因为没有找到答案而感到惊讶。问题是这个问题在JS中也相当模糊 要求: 强解耦 在运行时加载新代码 该解决方案应该是适用的,这样我就可以与浏览器共享尽可能多的代码 更新: 我确实在duck类型方面做了很多工作,我还遇到了Clojure关于基于

我正在尝试使用node.js和其他相关技术实现一个应用程序。来自java的标题是多态性,但很自然,但对于经典的程序员节点,工作方式不同

应用程序将在用户提供的运行时加载新代码。为了让主核心使用该代码,“我们”需要就某种约定达成一致。知道Node有多新,我并没有因为没有找到答案而感到惊讶。问题是这个问题在JS中也相当模糊

要求:

  • 强解耦
  • 在运行时加载新代码
  • 该解决方案应该是适用的,这样我就可以与浏览器共享尽可能多的代码 更新:

  • 我确实在duck类型方面做了很多工作,我还遇到了Clojure关于基于协议的实现的想法
  • 我希望答案中有一些代码
    JavaScript,就像大多数其他脚本语言(即没有编译时类型检查)一样,不需要多态性

    如果你来自爪哇岛,你可能正在寻找一个通常提供优步解耦的平台。您可能可以使用google为Node找到一个好的依赖项注入框架,如

    尽管说实话,您可能只需要创建一个Javascript/Coffeescript文件,就可以完成所有的连接和配置加载

    由于Javascript的灵活性,几乎每个表单多态性都已实现(特征、接口、继承、原型)。每种方法都有其优缺点,但几乎都是运行时检查(如果有的话),而不是编译时检查

    就我个人而言,我可能只会使用其中一个,或者


    编辑:但是,由于您谈论的是允许用户扩展系统,因此回调和/或自定义事件是首选方法(即高阶函数编程和自定义事件)。若你们正在寻找一些实质性的东西,比如一个插件系统,那个么它看起来相当完整(对@Larry Battle来说是一个礼帽)。

    你们试过什么吗?展示你的努力和/或分享你对这些主题的想法。1:2:loader js:或伟大的链接@LarryBattle你能在回答中分享你的观点吗?这是该应用程序的主要焦点。在谷歌搜索的同时,我也遇到了受Clojure启发的基于协议的多态性。你能和我分享更多的细节吗?@Eliran谢谢你帮我修改英语:)。我懒得纠正:)因为这将运行用户代码,我正在寻找给用户一个界面的最佳方式。Doc和纯duck键入是最佳方式:)当然,没问题。很好的回答,顺便说一句,i++。