领域驱动的设计模式澄清

时间:2010-10-12 17:39:18

标签: design-patterns domain-driven-design

大家好 我试图使用DDD方法构建解决方案。我创建了一组实体,并使用一些数据处理器从实体中删除数据持久性依赖性。 我是否正确,使用像“finder”类这样的数据映射器,我有像

这样的方法

getById() getUsersByRanking() getByLastName()

或者数据映射器是否应该包含专门的finder方法并且只使用getById()?

假设使用Repository模式删除我添加到datamapper的那些“专用”finder方法,而不是给客户端一个查询语言,他们可以使用它来代替其他人查找实体,这是正确的吗?是指比ID?。

我真的希望有人可以帮我澄清这些模式如何与彼此的域模型,Datamapper,Data presistence,Repository相互作用。

我已经在Martin Fowler POEAA中读了很多但很难连接点:)

1 个答案:

答案 0 :(得分:0)

让我们看看,存储库是DDD中实体的入口点。您可以创建抽象的,然后将其专门化为每个实体。因此,每次需要获取实体时,您都可以询问存储库。 datamapper是一种使用数据库表示或任何其他存储来映射实体的解决方案。所以我想数据映射器必须隐藏在存储库模式之后。