首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 .NET Core 中应用六边形架构

在 .NET Core 中应用六边形架构

作者头像
全球技术精选
发布2021-03-23 15:41:59
5030
发布2021-03-23 15:41:59
举报
文章被收录于专栏:全球技术精选全球技术精选

在本文中,您会看到一个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/[1]

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 半栈程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 什么是六边形架构
  • 六边形架构带来了哪些好处
  • 六边形架构的各层
  • 创建新项目
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档