0
我已经通过PORO概念在线提供了几篇文档,并且已经理解为什么我们应该使用PORO,但是我没有使用PORO,不明白的是,如果商业逻辑应该进入服务类,那么activerecord模型类应该怎么走呢?Rails:遵循PORO(普通红宝石对象)结构时,应该在模型和服务类中使用哪些代码
另外在什么情况下创建服务类没有意义,而应该在activerecord模型类中编写代码?
任何帮助表示赞赏。
我已经通过PORO概念在线提供了几篇文档,并且已经理解为什么我们应该使用PORO,但是我没有使用PORO,不明白的是,如果商业逻辑应该进入服务类,那么activerecord模型类应该怎么走呢?Rails:遵循PORO(普通红宝石对象)结构时,应该在模型和服务类中使用哪些代码
另外在什么情况下创建服务类没有意义,而应该在activerecord模型类中编写代码?
任何帮助表示赞赏。
本文将完全回答您的问题,并让您满意:Extreme Rails Decoupling with POROs。
总之,POROS可以以不同的方式来使用在滑轨:
ChargePendingUsers
Money
类,它可以告诉它的货币和数量。
你是什么意思“PORO结构”?你的问题与提问“我如何编写好的代码?”一模一样。 - 这是一个很有争议的大话题,不可能在单个StackOverflow文章中简洁地回答。关于这个话题有数千本书。 –
一个很好的起点是阅读SOLID原则:https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) - 例如单一责任原则。 –
作为对你的问题有点模糊的回答,我能说的最好的是:你的代码应该是“干净和简单”。一个班级应该有**单一职责**。服务对象的主要目的是将复杂的逻辑抽象为一个定制的类结构;以便使其具有灵活性,可重复使用和可独立测试。 –