1

正如SRP所说:

一个类或模块应该有一个,并且只有一个,改变的理由

我的每种类型的实体(每种类型,一个存储库)都有一些实现CRUD操作的存储库类。因此,这些类型的存储库类似乎有不止一个改变的理由,例如每个查询条件都可能改变等等。

我认为这种情况也发生在应用程序服务类中。

我的问题是:

  • 是否会导致使用此类存储库或应用程序服务类违反 SRP?
  • 如果违反,我该如何处理这个问题?
4

1 回答 1

1

恕我直言,SOLID 纯粹主义者会争辩说,是的,不断修改存储库以添加表示各种查询的新方法将违反 SRP。但是,我认为这种存储库设计方法已被合理地接受。

对于单独的查询,您可以使用规范模式来概述您的查询。如果您修改存储库以接受规范,那么它们应该对开发新查询的修改关闭。

于 2013-07-23T08:58:42.283 回答