2

新しい SaaS アプリを構築していて、DDD の原則に従いたいと考えています。

アイデアをスケッチしている段階で、この問題に遭遇しました。人々が私に考えを与えてくれることを願っています。私はこれに必ずしも正しいか間違っているとは思わない。しかし、私はあなたの考えを聞くのが大好きです...

基本的に、Billing がどこに属し、どのように実装するのが最適かはわかりません。

ユーザーが請求インターフェースを認識する必要があるかどうかはわかりません。請求を実行するのはユーザーエンティティの責任ですか??

ユーザーエンティティがサブスクリプションを持っているかどうかを知るのは公平だと思いますが、それがどのように実装されているかはわかりません。

この段階では、ドメイン層が BillingInterace を指定し、実装がインフラストラクチャ層にあると考えています。(最初は Stripe を使用します)

請求サービスを作成し、ユーザー エンティティを渡して、ストライプで顧客アカウントを作成し、請求機能を実行しますか?

または、ユーザーエンティティにドロップされる特性をコーディングして、ユーザーが自分で請求できるようにします ($user->charge() など)。

それが理にかなっていることを願っています。このようなものについてオンラインでまともなガイダンスを見つけることができないので、いくつかのアイデアを投げかけようとしています.

ありがとう!!リー

4

1 に答える 1

3

請求を実行するのはユーザーエンティティの責任ですか?

私はそうは思わない。

この段階では、ドメイン層が BillingInterace を指定し、実装がインフラストラクチャ層にあると考えています。

請求はドメイン (ビジネス) の一部ですか? はいの場合、そこにあるはずです。

おそらく、課金は集約ルートまたはドメイン サービスである可能性があります。PurchaseOrder (集計) が Billing になる可能性があるこの投稿を見てください。このでは、ドメイン サービスについて説明します。

于 2016-01-19T11:11:40.690 に答える