有DAL库暴露了十几个存储库。每个实体一个存储库。有PersonRepository
& PhotoRepository
。
当我向存储库添加新方法并且方法处理实体时,显而易见的是我必须放置它。如果我想要CreatePerson,我会创建PersonRepository::Create(...)
或当我需要更新照片时,我会创建PhotoRepository::Update
但是当方法处理实体关系时,事情有时会变得蒸熟。我应该创建PersonRepository::AssignPhoto(PersonId, PhotoId)
还是创建PhotoRepository::AssingToPerson(PhotoId, PersonId
)?
如果事情对我来说很清楚(我认为Person是比Photo更重要的实体,所以我将创建PersonRepository方法),一些开发人员找不到合适的方法,并倾向于在PhotoRepository中创建重复项。
您如何最小化此问题?
可能是您同时创建了两种方法(PersonRepository::AssignPhoto
& PhotoRepository::AssignToPerson
)(一种方法委托给另一种方法调用它)?或者我们是否应该在团队中使用强大的存储库方法命名约定?或者我可能会改变存储库边界的方法?
答案 0 :(得分:0)
在面向对象的世界中,我有一个带有方法 AssignPhoto 的Person对象。
处理对象关系对存储库的操作感觉就像一个程序方法,至少对我而言。