gpt4 book ai didi

Grails - 命令对象的专用源文件夹?

转载 作者:行者123 更新时间:2023-12-01 16:28:09 25 4
gpt4 key购买 nike

据我所知,大多数人要么将命令对象放置在 Controller 内(我不喜欢),要么将它们放置在 src/groovy 文件夹内的某个位置。

然而,我喜欢 Grails 为 Controller 、域、服务等提供的特定文件夹,并且认为为命令对象简单地创建一个新的源文件夹会很棒。/grails-app/commands 或者/src/commands。以这种方式布局将有助于鼓励命令对象的使用。

我有点担心这样做可能会破坏一些依赖于特定项目结构约定的 grails 魔法。运行一些快速测试后,我确实验证了数据绑定(bind)和域约束导入似乎仍然可以正常运行。

对这种方法有什么想法或反对吗?

最佳答案

与域类、服务、标签库等顶级 Grails 工件不同,该框架不会对命令对象类执行任何特殊操作。一个异常(exception)是,如果它们是在使用该类作为命令对象的 Controller 的 Controller 源文件中定义的,在这种情况下,编译器将 Autowiring 可验证的内容,而无需使用 Validateable 注释来标记该类。如果您在其自己的源文件中定义命令对象类,那么如果您希望该事物可验证(并非所有命令对象都需要变得可验证),则您将需要 Validateable 注释。鉴于此,我认为有一个特殊的位置来定义这些类源文件没有任何好处。如果 Controller 源文件中没有定义它们,通常的做法是在 src/groovy/下定义它们,除非您有充分的理由偏离该约定,否则您可能不应该这样做。

命令对象类在 Grails 中几乎是一种特殊的东西,但实际上并非如此。您可以使用任何内容作为 Controller 操作的参数。如果有某种原因,您可以使用 Log4J 提供的类作为命令对象。在我看来,有一个特殊的地方来定义它们并不合理。

希望对您有所帮助。

关于Grails - 命令对象的专用源文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23689425/

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