Tag: C#
All the articles with the tag "C#".
-
不要 .csproj 也能行:用 .NET 11 file-based app 构建完整 Web API
Published: at 01:40 AM作者用一个周末验证了一件事:.NET 11 的 file-based apps 特性能不能支撑起一个真实的 ASP.NET Core Web API。结果是能——只需一个 .cs 文件入口,发布产物是 30 MB 的单一原生二进制,感觉跟写 Go 服务没多大区别。EF Core 迁移是目前唯一没解决干净的地方。
-
C# 字符串转字节数组:UTF-8、编码方式与 Span 零分配技巧
Published: at 07:48 AMC# 字符串转字节数组是网络传输、流写入、哈希计算等场景的基础操作。本文覆盖从 Encoding.UTF8.GetBytes() 到 Span<byte>、stackalloc、u8 字面量、MemoryMarshal 的全套方法,并给出选型决策表和常见错误分析。
-
.NET 中的解释器模式:把业务规则变成可组合的表达式
Published: at 07:11 AM解释器模式(Interpreter Pattern)能把硬编码的 if-else 业务规则拆解成可组合、可配置的表达式树。本文用折扣规则引擎为例,演示如何在 .NET 中用终止表达式、逻辑组合器和配置解析器,让规则引擎摆脱重新部署的束缚。
-
C# 状态设计模式完全指南:用多态消灭条件分支
Published: at 11:40 PM状态设计模式让对象在内部状态变化时自动切换行为,用独立的状态类替代庞大的 switch 语句。本文从核心组件讲起,配合订单系统完整代码,带你掌握有限状态机、状态转移设计、与策略模式的区别,以及何时该用这个模式。
-
C# 适配器模式 vs 外观模式:区别与选用指南
Published: at 11:46 PM适配器模式和外观模式都是结构型设计模式,都涉及包装已有代码,但它们解决的是完全不同的问题。本文用 C# 代码示例逐一拆解两者的意图差异,并给出清晰的决策标准。
-
C# 功能切片:按业务功能组织代码
Published: at 02:33 AM功能切片(Feature Slicing)是一种将代码按业务功能而非技术层次组织的方式。本文以 ASP.NET Core Minimal APIs 为例,展示如何构建真实的功能切片,包括请求/响应模型、处理器和端点的完整实现,无需 MediatR。
-
ASP.NET Core API 版本管理完全指南(.NET 10)
Published: at 01:16 AM每个 API 迟早都会有破坏性变更。本文讲清楚为什么要做 API 版本管理,如何区分破坏性与非破坏性变更,并用 .NET 10 Minimal API 的完整代码演示从配置到废弃再到迁移的全流程。
-
.NET Agent Skills:三种编写方式,一个 Provider 统一运行
Published: at 02:00 AM微软 Agent Framework 为 .NET 开发者提供了三种 Skill 编写方式:文件式、类继承式和内联代码式,通过 AgentSkillsProviderBuilder 将它们自由组合进同一个 Provider,并支持脚本执行审批等生产特性。本文以一个 HR 自助服务 Agent 为例,逐步演示如何灵活叠加这三种方式。
-
在 C# 中构建 VS Code 风格的扩展系统
Published: at 11:59 PMVS Code 的扩展平台不只是简单的加载 DLL 调接口,它有一套完整的生命周期设计:Manifest 声明、贡献点注册、懒激活机制和作用域 API 隔离。本文从零开始,带你用 C#/.NET 8 实现这套结构,涵盖完整代码和关键设计决策。