まず最初に、私がドメイン駆動設計に慣れていないことを明確にしたいと思います。この質問をしているのは、Anemic Domain Model と呼ばれるものを読んだことがあるためです。
ほとんどの場合、リポジトリ パターンを操作しているときに次のようなことがわかります。
- 1 つの汎用リポジトリがあります
- ここでは、リポジトリ クラスがそのエンティティまたはモデルの他のプロセスを処理するため、パブリック プロパティのセットのみを含むモデルがありますが、メソッドは含まれません (したがって、DDD の定義に従って Anemic Domain Model になります)。
私の質問に対する貴重な回答を提供してください。
いくつかのことを明確にさせてください。
ジェネリック リポジトリとは、エンティティ リポジトリによって実装されるジェネリック インターフェイスを意味します。
私の混乱は次のことに関するものです
例:保存したいとします
public class User
{
public int Id { get; set;}
public string Name { get; set};
}
public class UserRepository : IRepository<User>
{
// All Operation Like Save / Get / UserEntity (Domain Object)
}
したがって、ここに私の User クラスは何もしません。代わりに、プロパティとその他の操作ハンドルを持っているだけUserRespository
です。したがって、私のユーザーはAnemic Domainモデルです。(特に何もしないので)
ここに添付された画像で私が考えているProductRepository
ので、私の質問は次のとおりです。私の製品クラスは貧血モデルですか?
私が言おうとしていることについては、次のサンプル画像を検討してください。