DAL库公开了十几个存储库。每个实体一个存储库。有
PersonRepository
&
PhotoRepository
.
当我向存储库添加一个新方法,并且该方法处理实体时,很明显我必须将它放在哪里。如果我想创造一个人,我会创造
PersonRepository::Create(...)
PhotoRepository::Update
但当方法处理实体关系时,有时会出现问题。我要创作吗
PersonRepository::AssignPhoto(PersonId, PhotoId)
还是我来创造
PhotoRepository::AssingToPerson(PhotoId, PersonId
如果事情对我来说很清楚(我认为Person比Photo更重要,所以我将创建PersonRepository方法),一些开发人员没有找到合适的方法,并且倾向于在photopository中创建副本。
如何将此问题最小化?
可能你创建了这两种方法(
PersonRepository::AssignPhoto
PhotoRepository::AssignToPerson
)同时(一个方法将调用委托给实现它的另一个方法)?或者我们应该在团队中有强大的存储库方法命名约定?或者我可以改变存储库边界的方法吗?