2010-07-27 70 views
3

有DAL库可以显示数十个存储库。每个实体一个存储库。有PersonRepository & PhotoRepositoryDAL:存储库边界问题

当我向存储库添加新方法并且方法处理实体时,很明显我必须放置该方法。如果我需要CreatePerson,我将创建PersonRepository::Create(...)或者当我需要更新照片时,我将创建PhotoRepository::Update

但是,当方法处理实体关系时,有时会出现蒸气。例如,我应该创建PersonRepository::AssignPhoto(PersonId, PhotoId)还是应该创建PhotoRepository::AssingToPerson(PhotoId, PersonId)?如果事情对我来说很清楚(我认为Person是比Photo更重要的实体,所以我将创建PersonRepository方法),但有些开发人员找不到合适的方法,并倾向于在PhotoRepository中创建重复项。

你如何最小化这个问题?

可能是你同时创建了两种方法(PersonRepository::AssignPhoto & PhotoRepository::AssignToPerson)(一个方法委托调用另一个实现它的地方)?或者我们是否应该在团队中使用强大的存储库方法命名约定?或者,我可能会改变存储库边界的方法吗?

回答

0

在一个面向对象的世界里,我有一个Person对象,方法是AssignPhoto

处理对库的对象关系操作感觉像程序方法,至少对我来说。

+0

但你如何决定? – 2010-07-27 12:51:27