Posts
All the articles I've posted.
-
C# Feature Slice 测试策略:单元测试、集成测试与边界划分
Published: at 12:28 PMFeature-sliced 架构的核心优势之一是让测试变得清晰:Handler 是天然的单元测试边界,WebApplicationFactory 覆盖 HTTP 管道。本文介绍针对 .NET Feature Slice 应用的完整测试策略,包括 Handler 单元测试、集成测试搭建、验证逻辑测试和 Testcontainers 使用方式。
-
C# 状态模式完整实战指南:从接口到依赖注入
Published: at 01:40 AM用订单处理状态机为例,逐步讲解如何在 C# 中实现状态模式:定义接口、创建具体状态类、构建上下文、添加转移事件、引入守卫条件,最后接入 DI 容器。
-
不要 .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 中用终止表达式、逻辑组合器和配置解析器,让规则引擎摆脱重新部署的束缚。
-
Claude Opus 4.7 系统提示词变化全解析
Published: at 01:02 AMAnthropic 是少数公开发布系统提示词的 AI 厂商。本文梳理 Claude Opus 4.6 到 4.7 系统提示词的核心变更,包括行动优先策略、tool_search 机制、内容安全扩充以及冗余措辞的清理。
-
不用 MediatR 的 C# Feature Slicing:纯 Handler 直接干活
Published: at 12:17 AMFeature slicing 的组织价值来自文件夹结构,而不是 MediatR。本文用 ASP.NET Core Minimal API 和纯 C# 类,从零搭建一个完整的 feature slice 架构,覆盖 handler 模式、跨切面关注点处理和 DI 注册,不依赖任何调度库。
-
C# 状态设计模式完全指南:用多态消灭条件分支
Published: at 11:40 PM状态设计模式让对象在内部状态变化时自动切换行为,用独立的状态类替代庞大的 switch 语句。本文从核心组件讲起,配合订单系统完整代码,带你掌握有限状态机、状态转移设计、与策略模式的区别,以及何时该用这个模式。
-
为什么我在 C# 依赖注入中改用主构造函数
Published: at 05:40 AMC# 12 将主构造函数扩展到普通类,作者起初持保留态度,但在多个项目中使用后改变了看法。本文梳理了主构造函数在 DI 服务类中消除样板代码的实际效果、用于领域实体的注意事项,以及一个必须了解的可变捕获陷阱,帮助你判断在哪些场景下值得切换。