大家好 我正在尝试使用 DDD 方法构建解决方案。我创建了一组实体,我使用一些数据映射器从实体中删除数据持久性依赖性。 对我来说正确吗,使用像“finder”类这样的数据映射器,我有像
这样的方法获取Id() getUsersByRanking() 获取姓氏()
或者数据映射器是否应该不包含专门的查找器方法而只使用 getById()?
我是否假设存储库模式用于删除我添加到数据映射器的那些“专用”查找器方法,而是为客户端提供一种查询语言,他们可以使用该查询语言来通过其他方式查找实体意味着比 ID?。
我真的希望有人能帮助我阐明这些模式如何与域模型、Datamapper、Data presistence、Repository 相互交互。
我读了很多 Martin Fowler POEAA,但很难把这些点联系起来 :)
请您参考如下方法:
让我们假设存储库是 DDD 中实体的入口点。您可以创建抽象的,然后将其专门用于每个实体。因此,您可以在每次需要获取实体时询问存储库。数据映射器是一种将实体与其数据库表示或任何其他存储进行映射的解决方案。所以我猜 datamapper 必须隐藏在存储库模式后面。