单一责任原则:改变原因的粒度

时间:2008-08-25 22:09:23

标签: oop

在应用单一责任原则并查看班级改变的原因时,您如何确定该改变的原因是否过于细化或不够精细?

2 个答案:

答案 0 :(得分:1)

我不知道除了根据你的经验“运用你的判断力”之外,对这个问题有一个很好的答案。如果做不到这一点,请寻求帮助,我猜你正在做什么;)

但是,说真的,如果你发现你正在创建一个看起来像一个简单工作的大量课程,那么你可能过于细化了。如果你的课程看起来很混乱,那么你可能太粗糙了。请原谅我,如果那是明显的陈述。

我认为这是一个模糊的,没有硬性和快速的规则案例,向我们展示了为什么我们需要人类程序员。如果你发现自己在一个方向或另一个方向走得太远,那就试试一下,寻求平衡和重构。请记住:if it's worth doing, it's worth doing badly

答案 1 :(得分:1)

  1. 我最初不会太担心粒度。我最初将在更广泛的层面上分离关注点。基本点是我们应该避免在这里过度工程。但就够了。我同意这里的Lucas,这第一步将随着经验而改善。
  2. 随着要求的变化,当我开始得到'气味'时,随着我对问题的理解的提高,我会通过分解出单独的问题来重构设计,因为它们变得很明显。基本上,关注点的分离也应该与整体设计一样是渐进的。