为什么开发人员痴迷于“关注点分离”?

高级开发人员经常提到以下三件事:


这其实是一种宗教,教条主义。

就像盲人摸大象一样,只有摸过大象才知道它有多少个部位,有多少个值得关注的地方,然后才能分离这些关注点。

在摸大象之前,你永远无法认识到大象是什么样,更别谈关注点了,因为你是一个”盲人“。

只有重构时,因为你在做第一遍的系统后,相当于摸过大象。大概知道大象是什么样,你才开始可以分离关注,单一职责,实现一个所谓干净架构,干净的标准取决于你对大象的业务知识的掌握和认识。

这时下面才有意义:
当你的产品经历了品牌重塑或用户体验的重大调整后,你突然又要重新编写所有代码,因为你的用户界面与你的业务逻辑息息相关。

表现层的变化比逻辑变化要频繁得多。有些业务/逻辑代码最终会在不同的上下文中重复使用多次。

如果没有适当的关注点分离,你最终只能多次复制粘贴相同的代码,并进行小的调整,或者当用户界面出现重大改动时,你只能从头开始。

适当的分离还有其他好处。人们更容易在你的项目中找到自己,减轻了深入系统目标部分所需的精神负担。

banq注:
高级程序员应该更关注形式与内容分离上,培养加强自己对语法等形式敏感性,而不是遵从“尊者”的宗教,这是《周处除三害》中一大害。
培养自己天然自然的编程直觉,不要被人造的虚幻世界迷惑。

一个关注点=一个Context上下文