跳转到内容

XiHan.Framework 框架概述

XiHan.Framework 是一个基于 .NET 的现代化后端开发框架,设计理念是为开发者提供一个高效、灵活且易于使用的开发平台。框架采用模块化设计,每个模块都专注于解决特定的问题,同时保持高度的可扩展性和可定制性。

设计理念

  • 简约而不简单:提供简洁的 API 设计,降低学习成本,但不失功能的完整性
  • 约定优于配置:遵循"约定优于配置"的原则,减少冗余的配置代码
  • 模块化设计:各个功能模块可独立使用,也可无缝集成
  • 高性能:底层架构经过优化,保证在高并发场景下的稳定性能
  • 可扩展性:提供丰富的扩展点,方便开发者根据需求进行定制
  • 领域驱动:原生支持领域驱动设计(DDD),便于构建复杂业务系统
  • 开发体验:注重开发者体验,提供丰富的工具和调试支持

核心模块

核心基础 (Core)

提供框架的基础设施,包括依赖注入、配置管理、日志记录、事件总线等基础服务,是其他模块的基础。集成了最佳实践的异常处理和结果封装机制。

数据访问 (Data)

提供统一的数据访问层,支持 Entity Framework Core 和 SqlSugar,同时提供仓储模式、工作单元、软删除、多租户等企业级功能。支持领域模型映射和高效的查询优化。

Web API

基于 ASP.NET Core 的 Web API 开发框架,提供统一的 API 路由、请求处理、响应格式化、版本控制等功能。集成 Swagger 文档生成和 API 限流、监控等高级特性。

身份认证 (Identity)

提供完善的身份认证和授权机制,支持 JWT、OAuth、OpenID Connect 等多种认证方式,以及基于角色和策略的授权功能。支持社交媒体登录和双因素认证。

缓存 (Cache)

提供统一的缓存接口,支持内存缓存、分布式缓存、Redis 等多种缓存实现。支持多级缓存策略和自动缓存失效,提高应用性能。

后台任务 (BackgroundJobs)

提供后台任务调度和执行框架,支持定时任务、队列任务、延迟任务等多种任务类型。支持任务重试、持久化和监控。

消息队列 (MessageQueue)

提供消息队列集成,支持 RabbitMQ、Kafka 等主流消息队列,实现系统间的解耦和异步处理。支持消息的序列化、重试和死信处理。

文件存储 (BlobStoring)

提供统一的文件存储抽象,支持本地文件系统、分布式文件系统、云存储等多种存储方式。支持文件上传、下载、管理等功能。

AI 集成 (AI)

提供人工智能服务集成,支持主流的 AI 模型和服务,如 OpenAI、Azure AI 等。支持文本生成、图像处理、自然语言理解等功能。

技术栈

  • .NET 10:利用最新的 .NET 平台特性,提供高性能和跨平台支持
  • Entity Framework Core:强大的 ORM 框架,简化数据访问层的开发
  • SqlSugar:高性能、轻量级的 ORM 框架,提供更灵活的数据操作
  • ASP.NET Core:高性能的 Web 框架,提供 Web API 开发支持
  • Serilog:灵活的结构化日志记录框架,支持多种日志输出目标
  • Mapster:高性能的对象映射工具,简化 DTO 和实体类之间的转换
  • FluentValidation:流畅的验证库,提供请求数据的验证功能
  • MediatR:轻量级中介者模式实现,支持请求/响应、发布/订阅模式
  • Swagger/OpenAPI:API 文档生成工具,方便 API 的测试和集成
  • Redis:高性能的分布式缓存解决方案
  • JWT:基于 JSON Web Token 的认证方案
  • Quartz.NET:强大的任务调度库,支持复杂的定时任务需求

架构图

+------------------------+        +------------------------+
|      表示层            |        |      外部服务/资源     |
| (Web API, gRPC, 前端)  |<------>| (第三方API, 存储, AI)  |
+------------------------+        +------------------------+
           |
+------------------------+
|      应用服务层        |
| (Application Services) |
+------------------------+
           |
+------------------------+        +------------------------+
|      领域层            |        |      基础设施层        |
| (Domain Model, 业务规则)|<------>| (Repository, 外部集成) |
+------------------------+        +------------------------+
                                           |
                                  +------------------------+
                                  |      持久化层          |
                                  | (Database, Cache, 文件)|
                                  +------------------------+

版本和兼容性

XiHan.Framework 版本.NET 版本支持状态
1.0.x.NET 10正式发布
0.9.x.NET 8/9长期支持
0.8.x.NET 7/8维护支持

下一步

  • 快速入门:了解如何在项目中集成和使用 XiHan.Framework
  • 核心模块:深入了解框架的核心模块和功能
  • 数据访问:学习如何使用框架的数据访问功能

Released under The MIT License.