在我的 Grails 应用程序中,一个人对某事有一种喜爱——而某事可能是一个想法、一个决定、一个小组或另一个人。
在 Java 中,我会强加一个 Something 接口(interface),以便这些类中的每一个都可以作为 Something 类型传入。
在 Groovy/Grails 中,我让它在Something 是一个Groovy 类和Fondness 类是一个将Persons 映射到Somethings 的集合类的地方工作。
在这种情况下,当我尝试利用 Duck Typing 时,我绊倒了。如何设置一个集合类,将 Person 映射到我的任何一组类,而不强加接口(interface)?
感谢您的任何建议!我很高兴听到 G/G 开发人员将如何处理这个问题。
-账单
最佳答案
另一种选择是抽象基类。在 1.4 中对此的支持得到了很大改进 - 参见 http://jira.grails.org/browse/GRAILS-2583 - 你可以在本周发布的 1.4M1 中使用它。
关于Grails:鸭子类型(duck typing)和多对多集合类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6098722/