首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是.NET中的清洁体系结构?

什么是.NET中的清洁体系结构?
EN

Stack Overflow用户
提问于 2022-06-14 04:44:04
回答 1查看 643关注 0票数 0

什么是.NET中的“清洁架构”?什么不是“清洁架构”?

CQRS,DDD是“清洁架构”的必修课吗?

洋葱结构是什么?

请澄清..。实际上,我迷上了“干净的建筑”。

EN

回答 1

Stack Overflow用户

发布于 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博客中说:

在过去的几年里,我们看到了一系列关于系统架构的想法。其中包括:

  • 六角形建筑(端口和适配器)由Alistair编写,由Steve Freeman采用,Nat Pryce在他们精彩的书“增长面向对象软件”中采用。
  • 洋葱建筑( Jeffrey Palermo )
  • 去年我博客上的建筑尖叫
  • 作者声明: James Coplien和Trygve Reenskaug。
  • 来自于他的书“面向对象的软件工程:用例驱动的方法”的BCE

尽管这些体系结构在细节上都有所不同,但它们非常相似。

因此,干净的体系结构是由罗伯特·C·马丁(RobertC.Martin)的想法增强的其他体系结构的融合。

我希望我的答案能帮助你对不同的术语进行分类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72611627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档