链接到媒介上的文章
查看文章以了解有关概念以及实施的更多信息。
Clean Architecture是传奇的Robert C. Martin(又名“ Bob叔叔”)的实用软件架构解决方案。通过应用软件AR插条的通用规则,您可以在任何软件系统的整个生命周期内显着提高开发人员的生产率。
为什么最大化没有做出的决定的数量?作为开发人员,我们通过实验知道,我们在项目开头(数据库或网络框架等)选择的框架很难在项目的一生中取代,这是因为紧密的耦合和许多其他早期决策,其中一个常见的错误之一是,我们基于这些框架,然后让商业逻辑围绕它们构建我们的项目。答案是,我们应该构建一个启用变化的体系结构,是的,我强调更改。不击中核心逻辑和高级组件的情况下,低量和框架的变化。
该模式强调,每个软件项目仅由策略和细节的两个要素构建。策略(高级组件)是软件系统的核心,其中包括所有业务规则,所有实体以及对该软件具有独特身份的所有内容。就像在电子商务平台中的客户实体或结帐行动一样。细节(较低级别的组件)是人类可以与业务规则进行交互的方式,模式将其称为IO设备,数据库,Web服务器等。就像结帐按钮一样,触发相应的业务规则或在数据库或文件或任何持久性机制中持续存在该客户实体。
该模式的最终目标是将高级组件与低级组件分开,并试图使它们共同努力并使高级免疫受到细节的变化。让我通过一些例子在您的脑海中使整个想法具体。想象一下,在MySQL(例如MySQL)之上构建的软件并将Express JS用作Web服务器,然后一年后,利益相关者介绍了与关系数据库不一致并需要NOSQL数据库不一致的新要求和功能。如果软件实现遵循良好的体系结构,并且在组件之间且无需进行更改的革命之间的耦合松散。替换适合解决方案的软件的数据库或Web服务器或任何其他细节,而不会影响业务规则和高级组件,这很容易。
鲍勃叔叔强调与干净的体系结构模式结合在一起,以形成可读,可维护,可扩展和易于部署的软件解决方案。