【问题标题】:Is it a good idea to extend a grails domain object?扩展 grails 域对象是个好主意吗?
【发布时间】:2016-04-10 03:07:15
【问题描述】:

我需要与不需要持久化的 grails 域对象类似的对象。为了不必为任何字段更改在 2 个地方进行更改,扩展域类是否是一个好主意,以便我可以获得单组字段的好处。虽然所有相关的对象和集合都需要重做。

【问题讨论】:

  • 域类还包含很多其他的东西。因此,不要扩展域类,而是将您的字段放在一个 groovy 文件中并在您的域类中扩展它。
  • 还可以考虑使用trait 来避免将自己锁定在继承地狱中

标签: grails extending domain-object


【解决方案1】:

@cfrick 很到位。 Groovy 特征是一个非常好的方法。你可以得到一个完整的例子here(我知道这个项目的名字不好)。这是一个简单的例子:

// MyTrain.groovy: Put this in src/main/groovy/my/package
package my.package

trait MyTrait {
    Integer number
    String something
}

// MyDomainClass.groovy: This goes with the other domain classes.
package my.package

class MyDomainClass implements MyTrait {
    /*  
     * number and something properties are available here.
     * They become table columns.
     */  

    static constraints {
        /*  
         * And you can place constraints on them,
         * as it they had been declared in this class.
         */  
    }   
}

【讨论】:

  • 死链接/不存在的 bitbucket 存储库。但是很好的例子!谢谢!
猜你喜欢
  • 2018-08-10
  • 2012-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 2014-10-15
  • 1970-01-01
  • 2012-04-02
相关资源
最近更新 更多