2013-09-04 9 views
36

私はEric Evanの本を読んでいます。現在、Vaughn Vernonの本を読んでいます。私は第二章で、サブドメインと境界のあるコンテキストについて話しており、今は完全に混乱しています。バインドされたコンテキストとサブドメインについて混乱しています

私が蒸留することができたことから、BCとSDの間には1対1の関係があるはずです。しかし、私は他の場所でこれが必ずしも当てはまらないと読んでいます。

BCとSDの関係を誰かに説明することはできますか?

+0

多分BCとSDの違いを説明すると助かります – Chris

答えて

4

予約状況を青い本から18回読み返すと、やっと手をつけることができました。 http://codeidol.com/csharp/domain-driven-design/Maintaining-Model-Integrity/Bounded-Context/

この記事では、同様に助け:http://gorodinski.com/blog/2013/04/29/sub-domains-and-bounded-contexts-in-domain-driven-design-ddd/

+5

いい記事ですが、記事からここにコピーすれば、何に答えますか、それは素晴らしいでしょう! –

+5

ここでは2番目の記事の要約を示します。 サブドメインはドメインを区切り、問題空間内に存在します。有界コンテクストは、ドメインモデルを区切り、解空間内に存在する。理想は、サブドメインと限定されたコンテキストとの間の完全なアラインメントであるが、実際には、この点に関してある程度の柔軟性が受け入れられなければならない。 –

+1

彼は技術的な意味ではあまりにも多くを話し、ビジネス上の意味では十分ではないので、gorodinksiリンクには同意しない。 @ JefClaesの答えははるかに良いです。 –

35

サブドメインは、あなたのビジネスの一部です。コアドメイン、サポートドメイン、および汎用ドメインがあります。コアドメインはお金があり、サポートするドメインがコアビジネスをサポートしています。一般的なドメインは必要なものですが、それほど気にしないので、おそらく棚を購入するでしょう。保険会社の場合、コアドメインは保険であり、サポートドメインはクライアントポートフォリオであり、汎用ドメインはタイムシートのようなものである可能性があります。

一般に、有界コンテキストは、ユビキタス言語が一貫している境界です。 DDD walhallaでは、各サブドメインはそれぞれ独自のコンテキストで動作します。しかし現実には、遺産があります。一度にすべてをやろうとするパッケージがあります。これはあらゆる種類の厄介な関係を強制します。

+1

すてきな説明、ありがとう! –

13

私はこれらの概念を私の理解で説明しようとしています。技術チームとビジネスチームは、ビジネスで実際の問題を表すDDDに問題

  • ドメインに同じ用語を使用し、同じビューを持つことができますので、DDDで

    は、すべてのものは、ユビキタス言語の下で伝達されなければなりません。そのような:電子商取引はドメイン、給与システムはドメインです

  • ドメインは多くのサブドメインに分割されるので、各サブドメインは小さな問題に焦点を当てます。そのような:電子商取引は、ショッピングカート、請求書、製品カタログ、顧客情報などの多くのサブドメインを持っています...
  • 各サブドメインは、その機能を制限する境界を持っているので、ドメインフォーカスは1つのことだけを行い、うまくいくようにします。この境界は、という限定されたコンテキストのサブドメインと見なされます。限定されたコンテキストは、次のように定義されます:
    • サブドメインにはいくつのドメインモデルが必要ですか?
    • 各モデルにはどのような特性が必要ですか?
    • サブドメインにはどの機能が必要ですか?

例:...カート、製品、顧客情報やカートにCRUDを実行するための機能が含まれています。ショッピングカートのサブドメインはモデルを必要とします。注意:ショッピングカートのサブドメインの商品と顧客モデルは、商品カタログと顧客プロフィールのサブドメインのモデルと異なる場合があり、ショッピングカートに表示するために必要なプロパティのみを含んでいます。

関連する問題