2

我正在将我正在使用的支付网关抽象为一个订阅类并放入一个 PaymentGatewayApi 类,以便将来可以在不触及模型的情况下轻松更改它。我的 API 所在的位置app/api似乎很好,因为我只有几个(尽管如果比我聪明的人说我应该移动它们,我会移动它们)。

在尝试编写高质量代码并减少参数调用时,我需要创建一些简单的实用程序类。其中之一是CreditCardCustomer可以在Subscription模型中实例化,然后将实例传递给PaymentGatewayApi.

我的问题是,我应该把这门课放在哪里?它是否需要在自己的文件中,或者我可以将多个类放在同一个文件中?Ruby 和 Rails 的最佳实践是什么?

4

2 回答 2

2

我的问题是,我应该把这门课放在哪里?

通常,这些类位于\lib. 然而,如果你打算在你的项目中使用这些类,你应该考虑为它创建一个 gem(rails 3 对此有一些很好的支持),也许将它作为开源发布?

它是否需要在自己的文件中,或者我可以将多个类放在同一个文件中?

通常每个文件有一个类,但 Ruby 不是 Java,所以请随心所欲。例如,尽量不要将两个大类放在同一个文件中。你可能想看看这个答案

于 2013-04-26T19:42:32.277 回答
0

CreditCardCustomer对我来说听起来像是一个模型。即使它不是 ActiveRecord 模型,它也属于app/models业务/领域对象。如果它真的是一个实用程序类,那么一定要把它放在lib.

于 2013-04-26T22:42:33.993 回答