代码之家  ›  专栏  ›  技术社区  ›  Tinku

存储库模式是一种过度杀伤力吗

  •  10
  • Tinku  · 技术社区  · 16 年前

    我使用存储库模式(DDD和POEAA)已经有一段时间了。然而,我们的一些团队成员认为,这只是一个额外的抽象层,没有必要。 我从他们的论点中看出了一些好处。现代ORM解决方案(NHibernate或EF)几乎拥有您所需要的一切。我搜索了一下,发现了一些像 this counterargument

    3 回复  |  直到 14 年前
        1
  •  12
  •   Brandon Satrom    16 年前

    一句话:这取决于上下文。

        2
  •  4
  •   Kimi    16 年前

    在单元测试中模拟数据访问是我使用存储库接口的主要原因。另一个原因是可维护性—您可以轻松地实现缓存策略,或者切换到其他数据访问实现,比如从服务而不是数据库获取数据。

        3
  •  1
  •   Shane Courtrille    16 年前

    我们在项目中使用存储库的一个原因是它强制我们的聚合根是谁(我们只允许存储库用于AR),这样您就可以正确地处理AR,而不是查询任何符合您需求的内容。