Groovy支持Ruby模块吗?

Groovy支持Ruby模块吗?,ruby,groovy,mixins,dynamic-languages,Ruby,Groovy,Mixins,Dynamic Languages,在允许分离关注点的同时,使向各种对象传递消息等事情变得更加容易。Groovy是否支持类似的功能?如果是这样的话,它叫什么?在ruby中,模块要么用作mixin,要么用作类的名称空间(例如Net::HTTP) 要混合该行为,可以使用@mixin注释。比如这里的例子 对于名称空间,groovy使用与java相同的机制,即使用包(例如groovy.sql.sql) 我不确定这是否回答了你的问题。但是对于依赖项注入,虽然在ruby中以mixin方式(甚至在scala/play中)实现依赖项注入是很常见的

在允许分离关注点的同时,使向各种对象传递消息等事情变得更加容易。Groovy是否支持类似的功能?如果是这样的话,它叫什么?

在ruby中,模块要么用作mixin,要么用作类的名称空间(例如
Net::HTTP

要混合该行为,可以使用@mixin注释。比如这里的例子

对于名称空间,groovy使用与java相同的机制,即使用包(例如
groovy.sql.sql


我不确定这是否回答了你的问题。但是对于依赖项注入,虽然在ruby中以mixin方式(甚至在scala/play中)实现依赖项注入是很常见的,但我还没有看到它在groovy中使用
@mixin
完成了很多工作。通常使用像spring这样的DI容器。

Groovy有,但我对Ruby了解不够,无法知道它们是否是Analogous,它们看起来是这样的me@WillP我会告诉你…但是它们更容易连接。上面()文章中的论点是DI与Ruby模块相比是笨重的…但是如果这是真的,那么我能看到的唯一真正的区别是,你不能在Ruby中使用Module/Mixin来实现AOP(这只是因为我对Ruby在这一领域的知识有限……所以这实际上是可能的)。是的,这看起来像是相同的功能,稍微复杂一点,但看起来不太好。