“Billing”在DDD php项目中属于哪里?

时间:2016-01-19 10:56:20

标签: php laravel domain-driven-design billing ddd-service

我正在构建一个新的SaaS应用程序,并希望遵循DDD原则。

我正处于草拟想法的阶段,我遇到了这个问题。我希望人们可以给我一些想法。我不认为这一定是对或错。但我喜欢听你的想法......

基本上我不确定Billing在哪里以及如何最好地实现它。

我不知道用户是否应该知道结算界面。用户实体是否有责任进行计费?

我认为用户实体知道他们是否有订阅是公平的,但不知道它是如何实现的。

在此阶段,我认为域层将指定BillingInterace,并且实现将存在于Infrastructure层中。 (我会开始使用Stripe)

您是否会创建结算服务并将用户实体传入以创建条带上的客户帐户并执行结算功能?

或者你会编写一个被放到用户实体上的特征,这样用户就可以自行计费($ user-> charge() - 或其他)。

希望这是有道理的。我只是想寻找一些想法,因为我无法在网上找到任何体面的指导。

谢谢! 利

1 个答案:

答案 0 :(得分:2)

  

用户实体负责执行结算吗?

我不这么认为。

  

在这个阶段,我认为域层将指定BillingInterace,并且实现将存在于Infrastructure层中。

域名(业务)的结算部分?如果是,那么它应该在那里。

也许结算可能是汇总根域名服务。请查看this帖子,其中 PurchaseOrder (汇总)可能是您的结算。在this,这解释了域名服务。