ドメイン駆動設計を使用して開発されたブログ アプリケーションでは、'Post' エンティティに関連するタグ エンティティのコレクションがあります。
投稿の作成時 (UI からのオブジェクトの入力など) に、REST を介してサード パーティの API を呼び出し、投稿のコンテンツを取得し、関連付けのためにセマンティック タグ (リンク テキスト) を抽出します。
主な質問: これを設計する最良の方法は何ですか...
Post エンティティが PostServices.GetTags(Postcontent) などのドメイン サービスを呼び出してコンテンツを渡し、タグのリストを取得するように設計するのが最適ですか?
** PostServices.GetTags は、追加のラッパー クラスを介して REST API とインターフェイスします。
それとも、サードパーティの API をリポジトリとしてラップする必要がありますか?
関数 Post.GenerateTags() は、ドメイン エンティティ内に存在すべきではありませんか?
その他の質問:
1 : 私は、ドメイン エンティティがドメイン サービスと会話するのは良い習慣ではないことも読みました。これは本当ですか?
2 : ファクトリ作成メソッドを介して PostServices ドメイン サービスへの参照を取得してもよろしいですか。例えば..
IPostService PostService = ServiceUtil.GetPostService(); PostService.GetTags(Post.content) を返します。
3 : ドメイン サービスをサード パーティの API に結合することは許容されますか?
4 : ドメイン エンティティは、REST API を呼び出したアプリケーション層を介して受信したタグを処理する方法を単に知っている必要があります。
ゆっくりと DDD について理解を深めようとしていますが、この種のものを実装する方法の例を見つけることができないようです。