有DAL库可以显示数十个存储库。每个实体一个存储库。有PersonRepository
& PhotoRepository
。DAL:存储库边界问题
当我向存储库添加新方法并且方法处理实体时,很明显我必须放置该方法。如果我需要CreatePerson,我将创建PersonRepository::Create(...)
或者当我需要更新照片时,我将创建PhotoRepository::Update
但是,当方法处理实体关系时,有时会出现蒸气。例如,我应该创建PersonRepository::AssignPhoto(PersonId, PhotoId)
还是应该创建PhotoRepository::AssingToPerson(PhotoId, PersonId
)?如果事情对我来说很清楚(我认为Person是比Photo更重要的实体,所以我将创建PersonRepository方法),但有些开发人员找不到合适的方法,并倾向于在PhotoRepository中创建重复项。
你如何最小化这个问题?
可能是你同时创建了两种方法(PersonRepository::AssignPhoto
& PhotoRepository::AssignToPerson
)(一个方法委托调用另一个实现它的地方)?或者我们是否应该在团队中使用强大的存储库方法命名约定?或者,我可能会改变存储库边界的方法吗?
但你如何决定? – 2010-07-27 12:51:27