大家好,我是编程乐趣。
对于很多.Net同学来说,想要学习Clean Architecture、DDD(领域驱动设计)、CQRS(命令查询责任分离)、Event Sourcing(事件溯源)等先进架构模式。
想通过开源项目来学习,但往往很多开源项目过于庞大,导致学习困难。
下面推荐一个集成了 .NET现代软件开发实践的开源项目。
01
项目简介
EquinoxProject 是由 GitHub 上的开源项目,通过该项目,我们可以学习如何利用最新的 .NET 技术构建高质量的应用程序。
它基于 ASP.NET 8.0 构建,采用了 Clean Architecture(清晰架构)、DDD(领域驱动设计)、CQRS(命令查询职责分离)和 Event Sourcing(事件溯源)等多种现代软件开发实践。
该项目功能比较简单,非常适合用来学习。
02
架构设计
项目采用了以下架构模式和设计原则:
Clean Architecture:通过分层架构实现关注点分离,确保代码的可维护性和可扩展性。
DDD(领域驱动设计):通过分层架构和领域模型模式,将业务逻辑与技术实现分离。
CQRS:命令查询责任分离,确保系统的高性能和一致性。
Event Sourcing:通过事件溯源记录系统状态变化,便于数据恢复和审计。
Domain Events:领域事件用于处理业务逻辑中的异步操作。
Domain Notifications:领域通知用于处理业务逻辑中的错误和警告。
Unit of Work:工作单元模式,确保数据库操作的原子性。
Repository:仓库模式,用于封装数据访问逻辑。
03
技术栈
使用了技术包括:
ASP.NET 8.0:用于构建 Web 应用程序。
ASP.NET MVC Core:用于构建 Web 前端。
ASP.NET WebApi Core:提供 RESTful API 接口,支持 JWT Bearer 认证。
ASP.NET Identity Core:用于用户身份验证和授权。
Entity Framework Core 8.0:作为 ORM 工具,用于数据库操作。
.NET Core Native DI:依赖注入框架。
AutoMapper:用于对象映射。
FluentValidator:用于数据验证。
MediatR:用于实现 CQRS 模式。
Swagger UI:提供 API 文档和测试界面,支持 JWT 认证。
.NET DevPack:用于简化开发流程。
04
前端截图
1、首页
2、用户列表
3、登录
05
项目地址
https://github.com/EduardoPires/EquinoxProject
最后欢迎加入我的 知识星球,带你从零学习:三层架构与领域驱动设计架构!
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/425005.html