代码之家  ›  专栏  ›  技术社区  ›  Sir Rippov the Maple

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

oop
  •  4
  • Sir Rippov the Maple  · 技术社区  · 16 年前

    当应用单一责任原则并查看类的变更原因时,如何确定过于变更的原因是过于细化还是不够细化?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Lucas Wilson-Richter    16 年前

    我不知道除了“根据你的经验运用你的判断力”之外,还有一个很好的答案。如果没有,寻求帮助,我想这就是你在这里所做的;)

    但是,说真的,如果你发现你正在创建一个gazillion类来做一个看起来很简单的工作,那么你可能是太过细化了。如果你的课看起来都很口语化,那么你可能太粗俗了。如果这是一个明显的陈述,请原谅我。

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

        2
  •  1
  •   Community CDub    8 年前
    1. 一开始我不会太担心粒度。我将首先在更广泛的层面上进行关注分离。最基本的一点是我们应该避免在这里过度工程化。但就够了。我同意 Lucas 在这里,这第一步将随着经验而改进。
    2. 随着需求的变化,当我开始闻到“气味”的时候,随着我对问题的理解的提高,我将重构设计,通过在问题变得明显时分解出单独的关注点。基本上,关注点的分离也应随着总体设计而演变。