前言

今天大姚给大家分享一个基于 ASP.NET Core 实现的领域驱动设计落地战术框架:netcorepal-cloud-framework。

框架介绍

netcorepal-cloud-framework 是一个基于 ASP.NET Core 实现的领域驱动设计落地战术框架。框架核心特性,领域驱动设计实践支持 + CQRS + Event Driven + 分布式事务(事件处理的最终一致性) + 多租户 + 多环境(灰度发布)。

框架愿景

本项目的核心目的是帮助企业快速构建一套基于领域驱动设计的技术实现框架,同时在领域驱动设计方法论方面进行沉淀和探讨,从而让更多的企业和团队得到帮助。

领域驱动设计介绍

领域驱动设计(Domain-Driven Design,简称DDD)是一种软件设计方法和理念,由Eric Evans在2004年提出。它通过深入理解业务领域,将复杂的业务逻辑转化为可维护、可扩展的软件系统。DDD的核心在于建立一个丰富的领域模型,这个模型能够反映业务实体、业务规则和业务流程。

框架提供功能包括

  • 支持灵活配置与部署的网关。
  • 基于 ASP.NET Core 和开源组件的快速开发框架。
  • 提供领域驱动设计实现的代码模板工程脚手架。
  • 实现具备业务扩展性的整体灰度解决方案。
  • 实现具备业务扩展性的租户能力。
  • 基于领域驱动设计的微服务架构实践。
  • 模块化的设计,可按需使用、按需替换。
  • 提供带有可视化操作界面的微服务基础设施:
    • 基于 .NET Aspire。

快速使用

使用 NetCorePal.Template 模板工具创建项目:

# 安装模板工具
dotnet new -i NetCorePal.Template
# 创建项目
dotnet new netcorepal-web -n My.Project.Name
# 进入项目目录
cd My.Project.Name
# 构建项目
dotnet build
# 运行测试
dotnet test
# 更新模板
dotnet new update

  • 模板工具源码:https://github.com/netcorepal/netcorepal-cloud-template

项目源代码

项目结构

使用 DeepWiki 快速理解项目

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看,别忘了给项目一个Star支持。

  • GitHub 开源地址:https://github.com/netcorepal/netcorepal-cloud-framework
  • 项目在线文档地址:https://netcorepal.github.io/netcorepal-cloud-framework

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没)。

  • GitHub开源地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
  • Gitee开源地址:https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

一个基于 ASP.NET Core 实现的领域驱动设计落地战术框架的更多相关文章

  1. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)

    最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...

  2. .net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇

    .net core +codefirst(.net core 基础入门,适合这方面的小白阅读)   前言 .net core mvc和 .net mvc开发很相似,比如 视图-模型-控制器结构.所以. ...

  3. 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇

    前言 领域驱动设计,其实已经是一个很古老的概念了,但它的复杂度依旧让学习的人头疼不已. 互联网关于领域驱动的文章有很多,每一篇写的都很好,理解领域驱动设计的人都看的懂. 不过,这些文章对于那些初学者而 ...

  4. 实现领域驱动设计 - 使用ABP框架 - 什么是领域驱动设计?

    前言: 最近看到ABP官网的一本电子书,感觉写的很好,翻译出来,一起学习下 (Implementing Domain Driven Design) https://abp.io/books DDD简介 ...

  5. DDD(领域驱动设计)--战术设计

    前言 战术设计 战略设计为我们提供一种高层视野来审视我们的软件系统,主要包括领域/子域.通用语言.限界上下文和架构风格等概念, 而战术设计则将战略设计进行具体化和细节化,它主要关注的是技术层面的实施, ...

  6. DDD领域驱动设计落地实践(十分钟看完,半小时落地)

    一.引子 不知今年吹了什么风,忽然DDD领域驱动设计进入大家视野.该思想源于2003年 Eric Evans编写的"Domain-Driven Design领域驱动设计"简称DDD ...

  7. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(2)

    第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 为Domain Model添加约束 前一部分, 我们已经把数据库创建出来了. 那么我们先看看这个数据库 ...

  8. 实现领域驱动设计 - 使用ABP框架 - 解决方案概览

    .NET解决方案的分层 下图显示了使用ABP的 应用启动模板 创建的Visual Studio解决方案: 解决方案名称为问题跟踪,它由多个项目组成.通过考虑DDD原则以及开发和部署实践,该解决方案是分 ...

  9. 实现领域驱动设计 - 使用ABP框架 - 通用准则

    在进入细节之前,让我们看看一些总体的 DDD 原则 数据库提供者 / ORM 无关性 领域和应用程序层应该与 ORM / 数据库提供程序 无关.它们应该只依赖于 Repository 接口,而 Rep ...

  10. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(3)

    第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 由于 ...

随机推荐

  1. 文件快递柜FileCoxBox-匿名口令分享文本,文件,像拿快递一样取文件

    FileCoxBox特色 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI 轻松上传:复制粘贴,拖拽选择 多种类型:文本,文件 防止爆破:错误次数限制 防止滥用:IP限制上传次数 ...

  2. Gits-命令

    Git基础命令 Git是一个分布式版本控制系统,由Linus Torvalds创建,用于有效.高速地处理从小到大的项目版本管理.以下是一些基本的Git命令和概念,它们对于使用Git进行版本控制至关重要 ...

  3. AtCoder Beginner Contest 396-e

    原题链接 思路 看到这道题,很明显就能发现这道题其实跟图论有关,将\(A\)数组看成一张无向图,每一个节点\(i\)的点权就是\(A_i\),每两个节点\(i\)和\(j\)之间的边权就是\(A_i ...

  4. excel 日期列显示到日

    原来显示 效果图: 步骤

  5. angular+ionic项目,页面无法滚动的问题

    在做angular+ionic+cordova项目时,遇到一个小小的问题,就是内容做完,页面无法滚动,导致内容显示不完整 首先我检查了样式,发现并没有给页面定死高度,再次检查结构发现,我并没有用ion ...

  6. go ERROR invalid character '<' looking for beginning of value

    报错 go ERROR invalid character '<' looking for beginning of value 请检查服务器响应数据是否正确,能够正确被 json 解析 一般碰 ...

  7. Creo 4.0二次开发工具框架搭建

    一.新建MFC DLL工程  二.配置项目属性 附加依赖项中输入:netapi32.lib;psapi.lib;mpr.lib;wsock32.lib;protk_dll_NU.lib;protk_d ...

  8. 基于RK3568 + FPGA国产平台的多通道AD实时采集显示方案分享

    在工业控制与数据采集领域,高精度的AD采集和实时显示至关重要.今天,我们就来基于瑞芯微RK3568J + FPGA国产平台深入探讨以下,它是如何实现该功能的.适用开发环境如下: Windows开发环境 ...

  9. 【服务器】Nodejs在局域网配置https访问

    [服务器]Node.js在局域网配置https访问 零.需求: 做一个局域网WebRTC视频聊天系统,需要用到HTTPS.因此,配置Node.js使其支持HTTPS访问. 一.解决 在线生成和证书 访 ...

  10. Windows 系统授权服务信息

    cmd 中输入命令 slmgr.vbs /dlv 后查看输出信息 据说,OEM和RETAIL可以正常升级到Windows10,并永久激活