【问题标题】:Is Repository pattern a design pattern? [duplicate]存储库模式是设计模式吗? [复制]
【发布时间】:2019-04-29 03:15:29
【问题描述】:

存储库模式是一种设计模式吗?在 Gang of 4 的设计模式列表中,它不存在。如果它是一种设计模式,那么它属于哪一类模式,即创造型、结构型或行为型。如果不是那为什么。请解开我的困惑?

【问题讨论】:

    标签: asp.net design-patterns


    【解决方案1】:

    分类模式可能很困难。的确,GOF 的书确实添加了模式的类别,但大多数时候人们无法弄清楚某个东西是否是 Architectural styleDesign Pattern,更不用说是模式。

    Repository pattern是在GOF之后出版的Patterns of Enterprise Application Architecture一书中介绍的。

    从它的定义来看:

    存储库在域和数据映射层之间进行中介...

    我们可以说这是一个结构模式

    有时人们也会使用 Repository 来创建对象,所以在这种情况下它也可以是一种创建模式

    所以这取决于赋予它多少责任,但大多数时候我们可以将其归类为创造模式

    作为一种模式,Repository 有很多变体,很难将其归入一个类别。关于它也有很多讨论:它有什么职责,应该如何实现等等。

    更不用说人们开始使用 Repositories 和支持 ACID 事务的数据库的映射层以及管理这些事务并将更改保存到数据库的Unif Of Work

    现在人们使用 MongoDB 和 Event Sourcing 并向其中添加其他方法,例如 .Save。这些方法确实引起了很多讨论。

    【讨论】:

      猜你喜欢
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      相关资源
      最近更新 更多