在 .NET Core 中应用六边形架构
在本文中,您会看到一个Web API应用的模板,在.NET Core 中应用了六边形架构,并且里面包含了一些基础功能。
介绍
这是一个模板项目,里面集成了一些必备的基础功能,当我们需要开发一个新项目时,我们可以使用这个模板,这样我们可以聚焦业务。
模板集成了一些组件和功能如下:
- 六边形架构的应用程序
- Web API
- Entityframework Core
- 异常处理
- NUnit
- 版多本
- Swagger UI
- 日志 — SeriLog
- Health checks UI
- JWT authentication
什么是六边形架构
六边形架构(或称其为“端口和适配器架构风格”),将解决传统架构中维护应用程序的问题,而我们过去通常通过以数据库为中心的架构来实现, 所有输入和输出都通过端口进入或离开应用程序的核心内容,并且端口把应用程序和外部技术,工具和交付机制隔离开。
六边形架构带来了哪些好处
-
插件化
我们可以在项目中添加或者移除adapter, 比如我们可以替换 Rest adapter 或者 GraphQL 或者 gRPC adapter,并且它不会影响到我们的逻辑。 -
可测试的能力
因为它分离了所有层,所以很容易为每个组件编写一个测试用例。 -
与数据库无关
由于数据库与数据访问是分开的,因此切换数据库提供程序非常容易。 -
整洁的代码
由于业务逻辑和表示层是分开的,因此易于实现UI(例如React,Angular或Blazor)。
六边形架构的各层
- Domain Api layer
Domain Api layer 在中心实现,并且不依赖于其他层。
-
Domain Layers (业务逻辑层)
-
Rest Adapter layer
Rest Adapter也称为左端口适配器和主适配器,在其中我们实现了静态服务(即GET,POST,PUT,DELETE等)。
-
Persistence Adapter layer
Persistence Adapter,也称为辅助适配器,我们用了Entity Framework Core,DbContext将是UOW(工作单元)。 -
Bootstrap/Presentation Layer
开始使用六边形架构
首先,我们需要先安装一个模板插件,在VS中,选择 扩展 -> 联机,然后搜索 Hexagonal,并安装
然后选择模板,创建新项目:
它的解决方案是这样的:
您可以浏览下各层的代码结构,也可以启动项目,访问 /healthcheck-ui, 查看健康检查的页面
在本文中,我简单介绍了六角形体系结构,并且通过这个模板,可以快速的在.NET Core 中创建六边形架构的项目应用。
原文链接: https://www.c-sharpcorner.com/article/hexagonal-architecture-in-asp-net-core/
欢迎扫码关注我们的公众号 【全球技术精选】,专注国外优秀博客的翻译和开源项目分享,也可以添加QQ群 897216102

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端