gpt4 book ai didi

java - 在 Rails 应用程序中实现 Java 门面/服务概念的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:06 26 4
gpt4 key购买 nike

我是 Rails 环境的新手,来自 Java 企业 Web 应用程序背景。我想创建一些类,让您可以轻松地与公开 Restful Web 服务的外部应用程序交互。在 java 中,我会简单地将它们创建为无状态 java bean/facade,它们返回数据传输对象,这些对象是很好用的对象,而不是丑陋的 xml 映射/数据。在 Rails/Ruby 中执行此操作的最佳方法是什么?这是我的主要问题:

外观类应该是静态的还是应该在使用服务之前实例化它们?

DTO 应该放在哪里?

谢谢,皮埃尔

更新:我们最终使用了此答案中解释的服务:Moving transactional operations away from the controller

最佳答案

不适合作为模型或 Controller 的代码位于 lib 文件夹中。 helpers 通常仅用于生成 HTML 或其他 UI 相关结果的查看相关代码。

我通常将它们创建为实例化的常规类,并具有访问外部休息服务的实例方法——这可以使测试它们更容易。但这实际上只是一个偏好问题(并且还取决于每个请求需要多少状态/这些对象的重用 - 取决于您正在做什么)。

在这种情况下,“DTO”只是普通的 Ruby 类——甚至可能很简单 Struct如果他们没有任何逻辑的实例。如果它们是 Ruby 类,它们将存在于 app/models 中,但它们不会扩展 ActiveRecord::Base(或其他任何东西)

关于java - 在 Rails 应用程序中实现 Java 门面/服务概念的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6343470/

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