gpt4 book ai didi

oop - 域类中应该采用什么逻辑,Grails 中的服务应该采用什么逻辑?

转载 作者:行者123 更新时间:2023-12-04 11:12:28 26 4
gpt4 key购买 nike

我正在开发我的第一个 Grails 应用程序,它涉及移植一个旧的 struts Web 应用程序。有很多现有的功能,当我移动时,我真的很难决定什么应该放在服务中,什么应该直接包含在模型中?

来自主要是 Ruby on Rails 开发的背景,我强烈倾向于将几乎所有内容都放在与其相关的域类中。但是,对于与我要移植的应用程序一样大的应用程序,某些类最终会长达数千行。

您如何决定域中应该包含哪些内容,而服务中应该包含哪些内容?是否有任何既定的最佳实践?我环顾四周,但大多数人似乎只是承认这个问题。

最佳答案

一般来说,我遵循的主要指导方针是:

If a chunk of logic relates to more than one domain class, put it in a service, otherwise it goes in the domain class.



如果没有关于你正在处理的逻辑类型的更多细节,很难比这更深入,但这里有一些更一般的想法:
  • 对于与 View 呈现相关的事情,那些进入标签库(或者可能是服务)
  • 对于处理确定将什么发送到 View 以及将其发送到哪个 View 的事情,这在 Controller (或可能是服务)中
  • 对于与外部实体(即文件系统、队列等)通信的事物,它们进入服务

  • 一般来说,我倾向于在服务过多方面犯错,而不是将事情混为一谈。最后,关键在于什么对您最有意义,以及您如何看待代码以及您希望如何维护它。

    但是,我要注意的一件事是,您正在移植的内容中可能存在高度重复的代码。由于 Grails 构建在 Groovy 上,并且可以访问更强大的编程方法(如闭包),因此您很可能可以清理和简化大部分代码。

    关于oop - 域类中应该采用什么逻辑,Grails 中的服务应该采用什么逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015166/

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