所以在我的python django应用程序中,架构的结构使得它被分成不同的应用程序。一个users
应用,一个用于finance
等等。
每个应用都有以下基本结构:
app_name
models
services
tests
我正在开发一项支持促销代码的新功能。促销代码将允许用户获得他们即将到来的账单的折扣。所以我创建了PromoCodeModel
和PromoCodeService
。在服务内部,我需要检查用户是否有资格兑换此代码。看起来这个逻辑可能变得相当复杂,我希望将资格检查封装到自己的类中 - 类似于PromoCodeEligibility(user, promo_code)
。
我在想 - 这会属于哪里?我应该创建一个新的PromoCodeEligibilityService
吗?或者我应该创建一个名为domain
的新文件夹并将其设为域对象?我也可以将这个逻辑移到model
本身,但是真正胖的模型对我来说似乎更像是一种反模式。想法?