Architecture 腐烂设计与粘度

Architecture 腐烂设计与粘度,architecture,terminology,Architecture,Terminology,罗伯特·C·马丁在他的一本书中提到粘性是设计腐朽的一种症状。我不完全理解软件开发中粘性的概念。 你能给我举一些例子吗?随着代码变得越来越老,它变得越来越有漏洞,越来越有依赖性,因此在不破坏某些东西的情况下更难进行更改 因此,它得到的“流体”更少,而“固体”更多,因此与粘度类似。他有两个用途,设计粘度和环境粘度 首先,高粘度液体,如牙膏和花生酱,不像水等低粘度液体那样顺畅流动 高粘度设计使得破解比保留设计更容易。黑客使得代码更加严格,从而进一步增加了粘性 环境粘度是指工作流程。如果编译时间很长,或

罗伯特·C·马丁在他的一本书中提到粘性是设计腐朽的一种症状。我不完全理解软件开发中粘性的概念。
你能给我举一些例子吗?

随着代码变得越来越老,它变得越来越有漏洞,越来越有依赖性,因此在不破坏某些东西的情况下更难进行更改


因此,它得到的“流体”更少,而“固体”更多,因此与粘度类似。

他有两个用途,设计粘度和环境粘度

首先,高粘度液体,如牙膏和花生酱,不像水等低粘度液体那样顺畅流动

高粘度设计使得破解比保留设计更容易。黑客使得代码更加严格,从而进一步增加了粘性


环境粘度是指工作流程。如果编译时间很长,或者构建系统或运行测试很困难,程序员会采取捷径来减轻痛苦。

粘度是液体抵抗外力变化的能力。水是测量的基础,它的粘度很低(即,它会在给定的路径下从一个地方自由流动到另一个地方),而酸奶在冷却时粘度很高,几乎是固体,基本上停留在你放的地方(除非你穿着浅色的裤子,在这种情况下,它每次都会出现…)

在软件中,这转化为您的代码抵抗更改的程度。如果您有很多依赖项,则很难更改主要类,从而导致不太理想的解决方法,这反过来会增加代码的抵抗力(增加其粘度)。设计良好的代码(低粘度)可以更新并添加到,而不会对依赖它的应用程序或其他类产生重大影响