2011-10-25 22 views
1

に私はDDDプロジェクトに機能を追加することで探していますが、私は、それに合わせて最善の方法がわからないよ。共有機能は、DDD

必要な機能は、タグ付けやユーザーグループ操作されます。

多くのものがタグ付け可能(ユーザー、雑誌、文書など)であるため、各ARでその機能を再作成するのは反DRYと思われます。タグ・リポジトリを中央のタグ・テーブルを管理し、必要なさまざまなタグ付けタイプ(つまり、userId、journalIdなどにタグを関連付ける)、多分複数の多対多テーブルを持つタグ・リポジトリを持つことは賢明でしょうか?関係タイプを記録する多くのテーブル。もしそうなら、タグへのリンクを保持するためにドメインオブジェクトを修正する必要がありますか?

グループの機能は似ています。ユーザーがユーザーグループを作成し、非公開のエンティティ(ジャーナル、ドキュメントなど)にグループを割り当てて、アクセスを表示できるようにする必要があります。

この新しい機能をプロジェクトに追加するにはどうすればよいでしょうか?

答えて

1

タグ付けとグループ機能のために別々の境界付きコンテキストを設計する。

2

DRYの原則は、「すべての知識は、システム内で単一の、明白で信頼できる表現でなければなりません」と記載されています。

DRYを分かち合うことで、DRYの知識に関する明確で権威のある表現が促進されます。

関連する問題