Ruby modules可以更轻松地将database connection or other dependencies传递给各种对象,同时允许分离关注点。 Groovy是否支持类似的功能?如果是这样,它叫什么?
答案 0 :(得分:2)
在ruby模块中,可以用作mixins或命名一个类(例如Net::HTTP
)。
要混合行为,您可以使用@mixin注释。像这里的例子http://groovy.codehaus.org/Category+and+Mixin+transformations。
对于名称空间,groovy使用与java相同的机制,即使用包(例如groovy.sql.Sql
)。
我不确定这是否回答了你的问题。但是对于依赖注入,虽然它常用于ruby(甚至是scala / play)中的混合,但我还没有看到它在groovy中使用@mixin
做了很多。通常使用像弹簧一样的DI容器。