当应用单一职责原则并查看班级的理由发生变化时,如何确定该原因是否过于细化或者不够精细?单一责任原则:改变原因的粒度
4
A
回答
1
我不知道除了“根据你的经验应用你的判断”之外,还有一个很好的答案。如果没有,获得帮助,我想这是你在这里做什么;)
虽然,如果你发现你正在创建一个gazillion类来做一些看似简单的工作,那么你可能过于细化。如果你的课都看起来很大,那么你可能太粗糙了。请原谅我,如果这是明显的声明。
我认为这是那些模糊的,非硬性和快速规则的案例之一,它向我们展示了为什么我们需要人类程序员。只要尝试一些东西,寻求平衡,如果发现自己朝着某个方向或另一方向走得太远,就会重构。请记住:if it's worth doing, it's worth doing badly。
1
- 我不会太担心粒度。我将首先在更广泛的层面上分开关注。基本点是我们应该避免在这里过度工程。但够了。我在这里同意Lucas,这第一步将会随着经验的提高而改善。
- 随着需求的变化,随着我开始感觉到“气味”,随着对问题的理解提高,我会通过分析各个问题的重构设计,因为它们变得明显。与整体设计一样,基本上关注的分离也应该是渐进式的。
相关问题
- 1. 单一责任原则
- 2. 单一责任原则webapi
- 3. 帮助理解单一责任原则
- 4. 单一责任原则是否违规
- 5. 单一责任原则和课
- 6. 单一责任原则和知识库
- 7. 单一责任原则 - 功能
- 8. 单一责任原则和Backbone.View
- 9. 按单责任原则重构方法
- 10. PetClinic例子破单个责任原则
- 11. 是单一责任原则OOP的一个规则?
- 12. 单一职责原则的实现
- 13. 单一责任原则 - 一个难以看到的例子?
- 14. 单一职责原则综合类
- 15. 了解单一职责原则
- 16. 单一职责原则和聚合
- 17. 代码遵守单一责任原则和单元测试
- 18. 单一责任原则(SRP)和我的服务类别
- 19. 我的代码是否违反单一责任原则?
- 20. 什么是单一责任原则的例子?
- 21. 什么时候违反单一责任原则是合理的?
- 22. 单一责任原则与分离担忧的区别
- 23. 这是单一责任原则的正确实施
- 24. 了解SOLID设计的单一责任原则
- 25. 违反Java核心迭代器中的单一责任原则
- 26. 单一责任原则如何与猫狗相关?
- 27. “富域模式”能否违反单一责任原则?
- 28. 退出($ status)是否违反单一责任原则?
- 29. 打开/关闭原则和单一责任 - 图
- 30. 在课堂上应用单一责任原则?
+1:好东西太多太糟糕了 – 2009-03-21 10:04:36