SuperAPI AI 工具集

csharp-patterns

编程与开发

查看项目

更新于 10-16 04:05

技能介绍

用途

csharp-patterns 是一份面向现代 C# 开发的模式与语言特性参考,以代码示例为主,帮助开发者了解 C# 13/15、.NET 10/11 的惯用写法,以及 .NET 中的 AI 集成方式。

主要能力

依赖注入模式

  • 主构造函数(.NET 10):在类声明中直接注入依赖,示例展示 OrderService 通过主构造函数接收仓储、支付网关与日志器。
  • Options 模式:定义强类型配置类(如 EmailOptions),通过 Configure 绑定配置节,并在服务中通过 IOptions 使用。

Result 模式

用抽象记录 Result<T> 表示成功或失败,通过 Match 方法处理两种分支,用于替代异常处理可预期的失败场景。

仓储与规约模式

定义泛型 IRepository<T> 接口(GetByIdAsync、ListAsync、AddAsync、UpdateAsync、DeleteAsync),以及 ISpecification<T> 接口(Criteria、Includes、OrderBy、Take、Skip)。

守卫子句与扩展方法

  • Guard 类提供 NotNull、NotEmpty 等校验方法,使用 CallerArgumentExpression 自动获取参数名。
  • EnumerableExtensions 提供 Batch 扩展方法,将序列按指定大小分批。

异步模式

  • 并行执行:通过元组等待多个异步任务。
  • 异步流:使用 await foreach 处理 IAsyncEnumerable。
  • Channel:使用 Channel.CreateBounded 实现生产者/消费者模式。

C# 15 新特性

  • 扩展成员(Extension Everything):支持扩展属性、方法与静态成员。
  • 字段支撑属性:使用 field 关键字访问自动生成的后备字段。
  • 空条件赋值:仅在左侧非空时赋值。

.NET 10 关键特性

  • AOT 改进:更快的启动速度、更小的二进制文件,面向云原生。
  • Blazor Web App 增强:改进渲染模式处理、流式 SSR。
  • Minimal API 改进:更好的参数绑定、终结点筛选器。
  • EF Core 改进:批量操作、编译模型。
  • Aspire GA:生产就绪的编排。
  • .NET AI 库:Microsoft.Extensions.AI 提供统一 AI 集成。

.NET AI 集成

  • Microsoft.Extensions.AI:统一 AI 抽象,注册聊天客户端(可配合 OpenAI、Azure OpenAI、Ollama 等),在服务中通过 IChatClient 调用。
  • Semantic Kernel:用于 AI 编排,示例展示创建 Kernel 并调用提示。

使用方式

资料以代码片段形式呈现各类模式与特性,可直接参考示例代码在项目中应用。文末提供官方参考链接:

  • C# 15 what's new: https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-15
  • .NET 10 overview: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview
  • .NET what's new: https://learn.microsoft.com/en-us/dotnet/whats-new/
  • .NET AI: https://learn.microsoft.com/en-us/dotnet/ai/
  • Semantic Kernel: https://learn.microsoft.com/en-us/semantic-kernel/

适用场景

适合使用 C# 与 .NET 进行后端或云原生开发的工程师,用于查阅现代 C# 惯用模式、语言新特性,以及在 .NET 中集成 AI 能力的写法。

限制

资料未提供安装命令、包版本要求、许可协议、收费信息或具体平台支持范围,这些内容暂未提供。