DDD とヘキサゴナル アーキテクチャを使用して、モノリシック アプリケーションをモジュラー モノリシック アプリケーションに書き直そうとしています。まず、「Shared」、「User」、「Article」の 3 つのモジュール (集約) を抽出してみます。
私が正しく理解している限り、「user」と「post」の間に依存関係を作成すべきではありません。ただし、それらはすべて、共有モジュールのコンテンツを使用できます。
それではここからが…
「Article」モジュールには Article
エンティティがあり、これは User
エンティティに関連しています。 DDD の観点から見ると、DDD は特定の記事の作成者です。リソースの作成者または所有者としての User
エンティティに関連する同様のモジュールがさらに存在します。
どのように実装する必要がありますか?共有に移動する必要がありますか?残念ながら、特定のリソースは見つかりませんでした。 Github には主に単一の集合体を持つプロジェクトが含まれており、User
エンティティのようなものはありません。
私はこの種の問題を解決するさまざまな方法を探してきました。共有集計を作成すれば、それが間違っているとは誰も言えません。ただし、最善の解決策は、ArticleEntity に関連する PersonEntity (または AuthorEntity) を含めることができる Person (または People) 集約を作成することだと思います。集約間の関係には問題はありませんが、試してみることをお勧めします。集約間の関係ルートのみを作成します。
これはエリック・エヴァンスのブルーブックのサンプルです
Voyage は Aggregate Voyage の AggregateRoot であり、Location アグリゲートの AggregateRoot Location と関係があることに注意してください。