2011-07-12 8 views
4

境界のあるコンテキストを定義する方法と、ドメインエンティティでこれを表現する方法を混乱させるようになってきました。例えばDDD:限定されたコンテキスト - 別の限定されたコンテキストの懸念を参照するドメインエンティティ

: 顧客は会社を介して顧客のコンテキスト 会社が持っていると

だから、顧客が顧客のコンテキストを経由して管理されている会社の文脈における製品のリスト、および企業に多くの製品を持っていますコンテキスト

コンテキストが異なるモジュールにあるとします。

私は、会社の住所詳細に製品を提供したい場合、どのようにこれを処理する必要がありますか?

顧客を含むモジュールのCompanyコンテキストを含むモジュールを参照するか、顧客とのやりとりの際に使用するために顧客コンテキスト内にCompanyエンティティを作成しますか?

ありがとうございました

答えて

5

異なるエンティティの異なる表現が異なることがあります。会社のCompanyは、User BCの会社とは非常に異なる場合があります。彼らが共有しなければならないのは、何らかの相関関係IDです。

+0

名前付きエンティティは、使用されているコンテキストに基づいて異なる方法で使用しましたか?例えば。紀元前に「会社」と、紀元前に「組織」と呼びますか?これはULの設立に反対しますか?または、エンティティがコンテキストにまたがっている場合でも、ULはコンテキスト内でのみ適用されますか? – Mafuba

+2

ULはBC内に適用する必要があります。これはEvans自身の言葉です。 – driushkin

+2

UL = [UbiquitousLanguage](http://martinfowler.com/bliki/UbiquitousLanguage.html) – Laoujin

1

これはプロジェクトでも同様にアプローチしました。別の有界文脈において、我々は、我々が大きな契約クラスを持っていた最初のモジュール/ BCの値オブジェクト/エンティティとして契約

を使用しながら

は、一つの有界コンテキストのために我々は、集約ルートとして契約を使用しました2番目のモジュール/ BCにはプライベートセッターでいくつかのプロパティしか含まれていない別のコントラクトクラスがありました。

このようにして、2つのBCをSOA設計でサービスの別々のアセンブリに分けることも可能です。

関連する問題