SuperAPI AI 工具集

dotnet-backend-patterns

编程与开发

查看项目

更新于 10-16 00:30

技能介绍

用途:该技能面向 C#/.NET 后端开发,帮助开发者按现代最佳实践(资料标注为 2024/2025)构建生产级 API、MCP 服务器和企业级后端,也用于审查 C# 代码质量与性能、设计服务架构、实现缓存策略、编写单元与集成测试、优化数据库访问以及处理错误与弹性模式。

主要能力:

  1. 项目结构:采用 Clean Architecture,划分为 Domain(实体、接口、异常、值对象)、Application(服务、DTO、验证器、接口)、Infrastructure(EF Core/Dapper 仓储、Redis 与内存缓存、HTTP 客户端、依赖注入注册)和 Api(控制器或 MinimalAPI 端点、中间件、过滤器、Program.cs)。
  2. 依赖注入:按生命周期注册服务(AddScoped、AddSingleton、AddTransient),使用 Options 模式绑定配置,支持工厂模式按条件创建,以及 .NET 8+ 的键控服务(AddKeyedScoped 配合 [FromKeyedServices])。
  3. 异步模式:async all the way down、Task.WhenAll 并行执行、库代码使用 ConfigureAwait(false)、热路径使用 ValueTask;避免 .Result、GetAwaiter().GetResult()、async void 和多余的 Task.Run。
  4. 配置:通过 IOptions(启动时读取一次)、IOptionsSnapshot(每次请求重新读取)、IOptionsMonitor(变更通知)读取 appsettings.json 中的配置节。
  5. Result 模式:用 Result<T> 代替异常控制流程,提供 Success、Failure、Map、MapAsync,并在端点中据 IsSuccess 返回 Created 或 BadRequest。
  6. 数据访问:EF Core 的 DbContext 配置、IEntityTypeConfiguration、全局查询过滤器、AsNoTracking 与分页查询;Dapper 用于性能场景,支持 DynamicParameters 与多映射查询关联数据。
  7. 缓存:内存缓存(L1)与 Redis 分布式缓存(L2)组成的多级缓存,含缓存键、过期时间与日志记录。

使用方式与限制:资料以模式讲解和代码示例为主,未提供安装命令、包名或具体版本要求;实际落地需结合项目自行配置依赖与连接字符串。资料未说明收费、价格、平台支持范围或效果保证,这些信息暂未提供。