40

简短版本:我什么时候应该将某些东西放入 app/services 而不是 lib/.

我最近一直在使用服务对象路线,但我意识到有时我无法真正决定天气我应该将某些内容提取到服务对象(我在 app/services 中)或我的 lib 文件夹中的类中。

我通常寻找的一件事是,如果类需要访问参数或其他特定于控制器的东西(即作为初始化程序中的参数),那么我倾向于将它放入服务中。

这里的约定是什么?证明(链接)会很好:)

4

2 回答 2

85

这就是我倾向于考虑代码的方式lib/

  • 它不耦合到我的应用程序的域模型。
  • 它可以在其他项目中重复使用。
  • 它有可能成为自己的宝石。因此,将其放入lib/是朝这个方向迈出的第一步。

服务:

  • 他们往往对领域模型的内部运作有相当多的了解。
  • 在我的应用程序中执行特定于业务领域的工作。
  • 倾向于与特定模型耦合。
于 2013-04-23T17:24:09.950 回答
4

IMO,服务是您领域的抽象。Lib 的东西是为了方便类,其他与你的模型没有直接关系的东西。

于 2013-04-23T02:22:31.213 回答