[笔记]如何在 .NET中实现洁净架构?
原文地址:https://mp.weixin.qq.com/s/8SMduU_1pAXJY0YO9KQLuA
现在让我们看看如何使用洁净架构设计模式实现一个 ASP.NET Core Web API 项目。我们将检查不同的层次以及需要在每个层次中放什么代码。
让我们通过为应用程序创建一个新的解决方案来开始:
首先,我们创建一个名为 ToDoApp 的解决方案,它有三个文件夹 - Core, Infrastructure, 和 Presentation。然后,我们在其中添加以下项目:
-
•
ToDoApp.Domain
– 这是一个类库项目,代表应用程序的 Domain 层。 -
•
ToDoApp.Application
– 这也是一个类库项目,代表应用程序的 Application 层。这个项目只参考ToDoApp.Domain
项目。 -
•
ToDoApp.Infrastructure
– 这是另一个用于表示应用程序的 Infrastructure 层的类库项目。理想情况下,它只应依赖于ToDoApp.Application
项目。 -
•
ToDoApp.Persistence
– 这也是一个类库项目,是 Infrastructure 层的一部分。这是专门用于处理应用程序的数据持久性。这也只依赖于ToDoApp.Application
项目。 -
•
ToDoApp.API
– 这是一个 ASP.NET Web API 项目,代表应用程序的 Presentation 层。理想情况下,它只应依赖于ToDoApp.Application
项目。但是,对于依赖注入,我们需要添加对ToDoApp.Infrastructure
和ToDoApp.Persistence
的引用。但请记住,那些应该是运行时依赖,我们不应该与这些层创建任何编译时间的依赖。
注意我们在 Core 文件夹中组织 Domain 和 Application 项目。同样,Infrastructure 和 Persistence 项目进入 Infrastructure 文件夹。然而, API 项目进入 Presentation 文件夹。这样做,我们将有一个遵循洁净架构原则的解决方案结构。