brz*_*zow 12 architecture terminology
Robert C. Martin在他的一本书中提到粘度是腐烂设计的症状.我不完全理解软件开发中粘度的概念.你能举个例子吗?
Bil*_*ard 12
他有两种用途,设计粘度和环境粘度.
首先,高粘度流体,如牙膏和花生酱,不流动那样平稳的低粘度流体状水.
高粘度设计使得制作黑客比保留设计更容易.黑客攻击使代码更加严格,进一步提高了粘度.
环境粘度是指工作流程.如果编译时间很长,或者构建系统或运行测试很麻烦,程序员将采取捷径来缓解痛苦.
粘度是液体抵抗外力变化的能力。水是衡量的基础,它的粘度非常低(即它会从一个地方自由地流向另一个给定路径),而比如说,酸奶在冷藏时粘度非常高,几乎是固体和漂亮的很多东西都留在你放的地方(除非你穿着浅色的裤子,在这种情况下它每次都会找到它的路......)。
在软件中,这转化为您的代码抵抗更改的程度。如果您有很多依赖项,那么更改主要类可能会很困难,从而导致不太理想的解决方法,从而增加代码的阻力(增加其粘性)。设计良好的代码(低粘度)可以更新和添加,而不会对依赖它的应用程序或其他类产生重大影响。