3

我刚刚回答了一个与 SRP 相关的问题,这让我想到:SRP 在实用程序类上的地位如何?

根据定义,实用程序类往往会做很多事情。我可以看到单个接入点上的门控相关实用程序是如何有用的。根据 SRP 标准,您不能在一个类中实现这些实用程序。这是否意味着实用程序类是禁止的,或者如果它只是多个类的外观,SRP 是否允许它,每个类都遵守 SRP?

4

1 回答 1

6

实用程序类被认为是反模式

  1. 违反您提到的 SRP,因为它通常需要承担多个责任。
  2. 大部分是静态类,不利于测试设计能力,不能mock。
  3. 这个名字本身是没有意义的,它们通常被命名为HelperUtilUtility或类似的名字。

纠正:

将您的实用程序类划分为更小的具有有意义名称的非静态类,每个类只承担一项责任。

于 2012-10-15T09:55:46.243 回答