首先,我想澄清一下我是域驱动设计的新手,我之所以问这个问题是因为我读过一些叫做贫血域模型的东西。
大多数时候,我在使用存储库模式时会看到以下内容。
- 我们有一个通用存储库
- 我们的模型只包含一组公共属性,但它不包含任何方法(因此根据 DDD 的定义它成为贫血域模型),因为这里存储库类处理该实体或模型的其他进程。
请为我的查询提供您宝贵的答案。
让我澄清几件事。
通用存储库是指由实体存储库实现的通用接口。
我的困惑是关于以下事情
例如:假设我想保存
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
。所以我的用户是贫血域模型。(因为它没有做任何具体的事情)
在附图中,我认为ProductRepository
我的问题是:我的产品类是贫血模型吗?
请考虑按照我想说的示例图片。