1

私は関連するように見える2つの他の質問を見てきました:彼らは私の状況とまったく同じではありませんよしかしDDD |階層(同じタイプ)|制約

。おそらく "制約"の側面を失っています。

私の状況:私は "Study"という名前のARを持っていて、調査はクラスタ別に整理することができます(調査ドメインのクラスタリングサンプリング概念から借用)。

この "Study"では、このパラメータ "clusteringDepth"(整数)がコンストラクタであるとします。 3つを指定します(州、郡、都市)。

これは単なる仕様です。研究のあなたが実際に研究を行うときは、Studyに基づいてStudyPlanのインスタンスを作成します。

この場合、地方(第1レベルのクラスター)のリストを持つStudyPlanのインスタンスがあります。各州には郡(第2レベルのクラスター)のリストがあり、各郡には都市のリスト(第3 /最終レベルのクラスター)があります。

各クラスタには、クォータ情報と日付範囲(そのクラスタで作成する必要があるインタビューの数とインタビューの日付間隔を指定できます)を添付できます。明らかに、親クラスターは、 "子クラスターのクォータの合計がこのクラスターのクォータ以下でなければならない"のようにインバリアントを維持する必要があります。

Ok ...、今、制約:回答者とのインタビューを計画できます。そのためには、InterviewPlanのインスタンスを作成します。しかし、このインタビュープランは、ターミナル(第3レベル)クラスタにのみ接続できます。

もちろん、その制約を実装するのは簡単です(たとえば、クラスターのaddInterviewPlanメソッドで、クラスターが親かどうかをチェックします)。

...何らかの理由で...私はこれが良いDDDデザインではないと思います。その制約はあまりにも技術的に聞こえる。それは正常なドメインの会話で自然に行かない。

私の質問:DDDの「言語流動性/自然性要件」を過度に解釈していますか?または...私は概念を欠いていますか?私は、別のドメインモデル、何か、それはクラスタの子になることができ、インタビュープランを関連付けることができますか?

おかげで、関連する他の ラカ


http://git.net/ml/programming.domain-driven-design/2006-06/msg00028.html

+0

テーブル、インデックス、列、行、IDは、機能などのようなtehnical事を意味するものではありますが、クラスタリングを発明したのか、ドメインの専門家があなたのことを教えてくれたのですか? – plalx

答えて

0

私はそれがあまりにもtehnicalではないと思います。ドメイン専門家は和のような基本的な数学を知っています。

Tehnical不変量は

関連する問題