代码之家  ›  专栏  ›  技术社区  ›  Andrew Florko

DAL:存储库边界问题

  •  3
  • Andrew Florko  · 技术社区  · 14 年前

    DAL库公开了十几个存储库。每个实体一个存储库。有 PersonRepository & PhotoRepository .

    当我向存储库添加一个新方法,并且该方法处理实体时,很明显我必须将它放在哪里。如果我想创造一个人,我会创造 PersonRepository::Create(...) PhotoRepository::Update

    但当方法处理实体关系时,有时会出现问题。我要创作吗 PersonRepository::AssignPhoto(PersonId, PhotoId) 还是我来创造 PhotoRepository::AssingToPerson(PhotoId, PersonId

    如果事情对我来说很清楚(我认为Person比Photo更重要,所以我将创建PersonRepository方法),一些开发人员没有找到合适的方法,并且倾向于在photopository中创建副本。

    如何将此问题最小化?

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

    1 回复  |  直到 14 年前
        1
  •  0
  •   Tim Cooper    13 年前

    在一个面向对象的世界里,我有一个Person对象和一个方法 分配照片

    在存储库上处理对象关系操作感觉像是一种过程方法,至少对我来说是这样。