2

Java ModelinginColorのPartyPlaceThingとRoleの原型使用しようとしています。

さらに、DDDのベストプラクティスを取り入れようとしています。ここで、アプリケーションに顧客と患者という2つの役割を演じる1人の担当者がいると仮定します。

CustomerロールはCRMBoundedContextで使用され、PatientロールはHospital ManagementBoundedContextで使用されます。

私のロールクラスは、弱いID、Personを一意に表すことができる値オブジェクトを使用して、Personの詳細にアクセスできます。このアプローチの詳細は、ここにあります。

現在、Party Place Thingの原型では、指定された責任の1つは、パーティーが果たしている役割をリストアップする機能です。

役割が異なる境界コンテキストに存在する場合、これをどのように達成しますか?

したがって、理想的には、顧客と患者は、人と同じ境界のコンテキストに存在するべきではありません

4

1 に答える 1

0

質問をしてからわかったことは、人(当事者)が自分が果たすすべての役割について知る必要がある場合はまれです。

人が果たすすべての役割を維持するためには、どのような不変条件が必要でしょうか?

したがって、基本的に DDD は、 Person がさまざまな BC で果たすすべての役割について知る必要はないと言うでしょう。

上記の例では、CRM BC の Customer クラスは、自分が役割を果たしている Person (Party) について知っています。

また、Hospital Management (HM) Bounded Context の Patient クラスは、それが役割を果たしている Person (Party ) について知っています。

ただし、Person クラスは、Customer クラスまたは Patient クラスのどちらについても知りません。

実際、CRM BC の Person クラスは、UL (ユビキタス言語) に基づく HM BC の Person クラスとは大きく異なる場合があります。

そして、これらが異なるコンテキストの Person クラスに関連付けられる方法は、ソフト識別子を使用することです。

詳しくはこちらの本をご覧ください。

ありがとう

于 2012-03-09T17:08:07.783 に答える