gpt4 book ai didi

grails - 哪个接口(interface)/抽象类适用于 grails 域类行为?

转载 作者:行者123 更新时间:2023-12-02 14:23:16 25 4
gpt4 key购买 nike

我有一个通用方法可以对许多域类进行通用操作

static Map getNumberOfPropertyByTopicIds(def criteriaClass, List ids) {
criteriaClass.createCriteria(). //Some GORM methods used
}

我希望自动完成在 criteriaClass 上应用的各种内容.但为此我需要更换 def criteriaClassInterfaceForDomainClassBehaviour criteriaClass .

但是我不知道 InterfaceForDomainClassBehaviour是什么。哪个接口(interface)/抽象类实现域类行为?

最佳答案

没有一个。

Grails 使用“约定优于配置”,因此与扩展基类、实现一个或多个接口(interface)、使用注释等的其他框架不同,您只需将工件类(域类、服务等)放在正确的目录中在 grails-app 下,使用适当的类命名约定(域类除外),Grails 会为您混合行为。您当然可以配置一些东西,例如与 mapping block 等

在 Grails 2 之前,添加方法主要是使用 Groovy 运行时元编程完成的,而在 Grails 2 中,大多数行为是在编译时使用 AST 添加的,运行时元编程主要用于动态代码,如 findAllByHeightAndWeightAndHairColorAndShoeSize在每种组合中编译是不切实际和/或不可能的。

超过 100 种方法被添加到域类中(反编译一些 - 考虑到 Groovy 源代码有多么小,看到类中最终有多少是非常惊人的),并且向 Controller 添加了数十种方法。但这都是混杂在一起的,因此尽管您的域类之间有很大的重叠,但除非您自己添加它们,否则没有通用的基类或接口(interface)。

关于grails - 哪个接口(interface)/抽象类适用于 grails 域类行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29105624/

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