2016-01-06 6 views
0

Мне нужен подобный объект, как объект домена grails, который не нужен. Для того, чтобы мне не пришлось вносить изменения в 2-х местах для любых изменений полей, рекомендуется ли расширять класс домена, чтобы я мог получить преимущества одного набора полей. Хотя все связанные объекты и коллекции нужно будет переделать.Это хорошая идея расширить объект домена grails?

+0

Класс домена содержит много других вещей. Поэтому вместо расширения класса домена поместите свои поля в файл groovy и расширьте его в своем классе домена. –

+2

также рассматривают использование «черты», чтобы не запереть себя в какой-то адский наследование – cfrick

ответ

0

@cfrick - это место на. Хорошая черта - очень хороший способ. Вы можете получить полный пример 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. 
     */ 
    } 
}