gpt4 book ai didi

grails - 在 Grails 中使用特征进行水平域类重用,是个好主意吗?

转载 作者:行者123 更新时间:2023-12-03 03:12:36 27 4
gpt4 key购买 nike

所以我想创建 3 个插件,其中包括域类和一个 Restful 服务,并且每个插件都构建在彼此之上。

从概念上讲,他们会这样“继承”基本模型:

记录>人员>用户

但是我从友好手册中读到继承可能会导致一些性能问题。

然后我想到,由于 Groovy 具有水平重用功能(即特征),我很可能只定义特征中的所有内容,然后在域类中实现特征。

由于字段的重命名,组合域类对我来说不是一个选择,而且还失去了 IDE 自动完成的便利性。

我的两个问题是:

  • 最好将这些特征放置在 Grails 项目结构的哪个部分。
  • 这会导致不同的问题吗?

最佳答案

Trait 源代码应位于

  1. Grails 2:src/groovy/[package][whatever.groovy]
  2. Grails 3:src/main/groovy/[package][whatever.groovy]

例如:src/main/groovy/com/my/package/foo.groovy

您将遇到的主要问题是您将失去执行多态查询的能力。例如,通过继承,您可以执行以下操作:

def everything = Record.list()

everything将包含RecordPersonUser实例。有点像 SQL 联合查询。当使用 Traits 而不是继承时,您会失去这种能力。

关于grails - 在 Grails 中使用特征进行水平域类重用,是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34918306/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com