3

因此,在我的 python django 应用程序中,体系结构的结构使其分为不同的应用程序。一个应用程序users,一个应用程序finance,等等。

每个应用程序都具有以下基本结构:

app_name
    models
    services
    tests

我正在开发一项新功能来支持促销代码。促销代码将允许用户为其即将到来的账单获得折扣。所以我创建了一个PromoCodeModel和一个PromoCodeService。在服务内部,我需要检查用户是否有资格兑换此代码。看起来这个逻辑可能会变得相当复杂,我希望将资格检查封装到它自己的类中——比如PromoCodeEligibility(user, promo_code).

我想知道——这应该属于哪里?我应该创建一个新的PromoCodeEligibilityService吗?或者我应该创建一个名为的新文件夹domain并将其设为域对象?我也可以将这个逻辑转移到model它本身,但是拥有真正胖的模型对我来说似乎更像是一种反模式。想法?

4

1 回答 1

0

我也可以将这个逻辑移到模型本身中,但是拥有真正胖的模型对我来说更像是一种反模式。想法?

实际上这是 Django 中的首选方式。您可以在此处此处此处阅读有关此内容的更多信息。

PS。我很确定在 django docs 中有几句话关于这个主题,但找不到。

于 2015-04-04T04:46:50.620 回答