什么是.NET中的“清洁架构”?什么不是“清洁架构”?
CQRS,DDD是“清洁架构”的必修课吗?
洋葱结构是什么?
请澄清..。实际上,我迷上了“干净的建筑”。
发布于 2022-06-15 06:18:25
因为这个问题太宽泛,所以我试着高层次地回答它。
.NET中的“清洁架构”是什么?
简而言之:“和其他任何语言一样”。体系结构主要是管理依赖关系,因为当涉及到代码时,依赖关系是最主要的问题,它闻起来像是脆弱、僵硬和不动。它也常被称为系统的结构,我可以用与Java、JavaScript甚至C++应用程序相同的方式构造JavaScript应用程序。存储库、用例(interactors)、实体等的概念保持不变,尽管它们的实现因语言特性而不同。
什么不是“清洁架构”?
我想说的是,每一种架构都打破了将业务价值与技术细节分离的主要规则。这是清洁体系结构的核心--使业务规则技术与技术无关,目的是使其易于测试。
因此,每当您有一个需要启动复杂框架、web服务器或数据库(必须使用ddl和dml初始化)的系统结构来测试业务规则时,您就没有一个干净的体系结构。
CQRS,DDD是“清洁架构”的必修课吗?
不,这些概念通常与干净的体系结构非常吻合,但它们是清洁架构不需要的概念。例如,您可以将您的域逻辑实现为贫血模型,并且仍然遵循干净的体系结构。但是我认为使用DDD或者至少是一种富域模型是一个更好的主意。
洋葱架构是什么?
洋葱体系结构是杰弗里·巴勒莫引入的一种体系结构。他还希望业务规则与技术细节脱钩。杰弗里·巴勒莫说:
六角体系结构和洋葱体系结构共享以下前提:将基础设施外部化并编写适配器代码,这样基础结构就不会紧密耦合。
他说:
数据库不是中心。它是外部的。
因此,干净的建筑结构和洋葱建筑有许多共同之处。这并不是什么大意外,因为罗伯特·C·马丁(RobertC.Martin)在他的https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html博客中说:
在过去的几年里,我们看到了一系列关于系统架构的想法。其中包括:
尽管这些体系结构在细节上都有所不同,但它们非常相似。
因此,干净的体系结构是由罗伯特·C·马丁(RobertC.Martin)的想法增强的其他体系结构的融合。
我希望我的答案能帮助你对不同的术语进行分类。
https://stackoverflow.com/questions/72611627
复制相似问题