【发布时间】:2012-04-12 13:57:12
【问题描述】:
我有一些在我的几个域类中通用的方法。我想减少重复代码的数量,我想到了两个解决方案:
1) 将常用方法放在 baseDomain 类中,并在我的域中继承它的方法
2) 放置常用方法在我可以导入到我的域中的 commonDomainMethodService 中
我想我应该不理会继承,除非域共享公共属性,但我不确定。这些方法中的一种是否比另一种更有益?是否更符合 Grails 最佳实践?
例如一种基于参数比较两个域实例的方法:
int compareInstances(instance, otherInstance, propertyName){
return //some logic to compare the instances based on the type of property
}
【问题讨论】:
-
你能举例说明你需要实现的方法类型吗?
-
这真的取决于你正在处理什么样的逻辑。如果您可以发布一些有问题的代码,这将有助于 TON.
-
例如,提供一个域的两个实例并根据也作为参数提供的属性比较它们的方法。
标签: inheritance grails grails-domain-class