问题标签 [service-object]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6262 浏览

ruby-on-rails - Rails - 放置非 Active Record 模型的位置(目录)

我们正在构建具有不是数据库组件的模型的应用程序。我们很想知道 Rails 社区中的其他人正在做什么来解决这个问题。

我们正在努力将它们放在哪里。

我们应该有:

或者

也许

也许

部分原因是我们正在努力与 Rails 标准的接近程度以及创建一个对我们需要的结构有益的结构。

如果我们将对象视为服务对象,我们可以有

另一个失败的途径是应用程序内没有东西,例如

代替

据推测,如果我们想通过 Rails 应用程序访问,我们最好使用 app/ 以利用约定优于配置。

0 投票
1 回答
1092 浏览

ruby-on-rails - 我应该如何在服务对象中转换这种关注?

我担心允许我让后端用户能够对元素进行排序。我将它用于一些不同的元素。Rails 社区似乎非常反对关注和回调,我想就如何更好地建模以下代码提供一些建议:

0 投票
2 回答
137 浏览

ruby-on-rails - 返回无效模型进行测试

我创建了一个服务对象(http://railscasts.com/episodes/398-service-objects),它基本上创建了两个模型,A 和 B,在 B 属于 A 的位置建立它们之间的关联,并返回 A(其中反过来,您可以通过 A 访问 B 给定的关联)。

出错时,我返回一个带有错误信息的哈希。当我尝试测试此方法时,我现在遇到了一个问题,其中有两种可能的返回类型:模型(当它通过时)或带有错误信息的哈希。

这是设计错误的信号吗?我知道当您首先测试 (TDD) 时,您会避免此类设计问题。

如果这是一个问题,那么我知道我需要返回一个无效的 A 模型。假设模型 B 在创建时抛出错误,我如何仍然能够返回无效的 A 模型?

如果返回错误哈希是可以的,我还能如何设计这个方法来测试友好?

0 投票
1 回答
1607 浏览

.net - 为 pos .net 设备安装服务对象

我是这个新手,并试图通过我的 c# 程序访问摩托罗拉 ds4208 扫描仪。

我研究的所有内容都表明我需要安装 OPOS 驱动程序并安装“SERVICE OBJECT”才能列出要列出的设备。

列出后,我可以调用 getDevices() ,它会检测到该设备。

我的问题是如何为扫描仪安装服务对象。

任何方向都会非常有帮助。

谢谢

0 投票
3 回答
5297 浏览

ruby - Ruby 的 .() 运算符是如何工作的?

我最近遇到了一些使用由格式组成的方法调用的代码,但object.(arg1, arg2) 没有很好地解释它是如何工作的。请参阅此示例代码:

这种速记的术语是什么?

0 投票
1 回答
1670 浏览

ruby-on-rails - rails命名空间服务对象

我刚刚在控制器和模型之间写了一个服务对象来“标记出勤”,所以现在我有一个用于控制器操作的对象,如下所示:

和服务对象(当前实现):

理想情况下,我想在控制器类中命名服务对象,但 rails 期望该文件定义服务类,而不是嵌套在控制器中的服务类。

该模块的名称可用,但我不确定是否有此约定。总的来说,我想最困扰我的是我真的想在控制器中定义那个类,但是在一个单独的文件中(可能有嵌套)。我可以将模块包含在控制器中,但这并不是我的重点。在 Rails 中命名空间服务对象是否有最佳实践?

0 投票
4 回答
3358 浏览

ruby-on-rails - Rails 服务对象

我正在使用服务对象将条纹支付功能抽象到它自己的类中。我正在使用ryan bates 谈到的这种方法https://gist.github.com/ryanb/4172391 。

然后在订单控制器中我正在做类似的事情

我的问题是,我如何获得显示给用户的 stipe 错误消息(“创建客户时出现错误”和“收费卡中出现条纹错误”)?或者我可以在订单模型中调用服务对象并将其添加到订单错误消息中吗?例如,
订单控制器

订购型号

如果我可以用模型做到这一点,我如何进行显示条纹错误的验证?
提前致谢。

0 投票
0 回答
83 浏览

ruby-on-rails - Rails 中服务对象和应用程序之间的交互

我正在开发一个有很多服务对象的应用程序。通常,这些服务的工作是构建一个或多个 Active Record 模型。为了避免将我的服务绑定到应用程序,我允许用户修改模型的名称。这是一个例子:

我认为它工作得很好,但我发现这个解决方案在某些情况下缺乏灵活性。例如,我有一项服务需要使用其中一个属性来查找模型。这就是我想要实现它的方式:

我不确定这是最合适的解决方案。在一些文章中,他们使用了另一个服务对象,一种“适配器”,但对于这样一个简单的用例来说似乎有点过分了。

你有什么建议吗?我应该继续目前的方法吗?

0 投票
1 回答
30 浏览

ruby-on-rails - 我可以在服务对象中调用引用类吗?

我有一个从许多不同类调用的服务对象。有没有办法调用引用类而不像这样传递它?

我可以参考selfor superor 中的东西ServiceObject吗?

0 投票
1 回答
412 浏览

design-patterns - Rails,服务对象:传递整个对象或只是一个 ID

我将应用程序重构为服务对象,以使模型更小,实际代码文件更有条理。

为此,我正在使用对给定对象执行操作的服务对象。但是,我面临的困境之一是我是将整个对象传递给服务还是只传递一个 ID。

一个典型的例子是更新用户的电子邮件地址。我在模型中使用服务对象而不仅仅是方法的原因是,这封电子邮件还必须与不属于用户模型的外部 3rd 方系统同步。

一个对另一个有什么好处吗?他们都“似乎”在做同样的事情,这对我来说只是个人喜好,但我很好奇我是否会遇到这样一种情况,即我传递了整个用户对象,并且在服务对象工作时它变得陈旧了在上面。

如果我传入整个用户,那么调用服务对象的类需要进行检查以确保用户存在等等,而如果我只传递一个 user_id 那么服务对象现在必须确保一个有效的对象,等等

对于这种面向服务的操作,是否有商定或预期的标准或模式?我想确保我在整个应用程序中使用一致的方法,并且以后也不要强迫自己陷入困境。