Posts
834
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
834
Tags
482
Featured
0
刚创建 Cosmos DB 账户?别拿着密钥就走。这份 8 步 day-one 清单覆盖禁用密钥、托管标识、RBAC、诊断日志、网络限制、参数化查询和持续备份,帮你避免后期高成本返工。
Continue reading
刚创建 Cosmos DB 账户?别拿着密钥就走。这份 8 步 day-one 清单覆盖禁用密钥、托管标识、RBAC、诊断日志、网络限制、参数化查询和持续备份,帮你避免后期高成本返工。
从上下文组装到代码生成,拆解 AI 编程 Agent 使用你的 SDK、CLI、MCP 工具的 7 步信息级联,搞清楚工具在哪一步被忽略、误选或误用,以及怎么优化。
以采购审批为例,分步演示 C# 责任链模式的接口 vs 抽象类选型、具体处理器编写、Builder 链构建、DI 容器集成和日志诊断,附常见踩坑点。
Raymond Chen 提出了一种 System.Diagnostics.Process 的假想重构方案:把 StandardOutput 等属性移到 Start() 的返回类型里,用编译器替代运行时异常来守护 API 正确使用顺序。.NET 11 也正在落实类似思路。
DI 容器的魔法就是反射。本文从 GetConstructors → GetParameters → Resolve → Invoke 的递归循环讲起,用 55 行 C# 实现一个最小容器,再拆解 IServiceCollection 和 Scrutor 的内部机制,最后介绍源生成器如何在编译期消除反射。
GitHub Copilot 不只是代码补全。这篇来自微软 .NET 团队的指南把 Copilot 的使用面拆成 Chat(理解、规划)和 Agent(执行、验证)两类,给出 10 个真实 .NET 场景的 prompt 示例,帮你判断当前任务该用哪种模式。
用 .NET 10 从零搭建 Clean Architecture 四层项目:Domain、Application、Infrastructure、API,依赖只朝内指向核心。不用 Repository,DbContext 通过接口暴露,Aspire 一条命令编排 API 和 PostgreSQL,10 个领域单测 155ms 跑完。
责任链(Chain of Responsibility)是 GoF 行为型模式,让请求沿着处理器链依次流动,每个处理器决定是处理、转发还是短路。本文从核心组件和三种链变体入手,给出请求验证管线的完整 C# 实现,并展示 ASP.NET Core 中间件就是这个模式的框架级落地。
自定义特性是 C# 框架机制的底层基础——验证框架、MVC 路由和插件系统都依赖它。本文从 Attribute 的基础定义出发,通过验证约束、插件扫描和命令路由三个完整实例演示如何用反射读取运行时元数据,并介绍热路径下的缓存策略和源代码生成器的适用边界。
当一个 HTTP 客户端同时要处理缓存、限流、日志,单类实现很快变成难以维护的混乱代码。代理模式让每个横切关注点拥有独立的类,它们共同实现同一接口,通过依赖注入组合成调用链。本文以天气 API 客户端为例,完整演示缓存代理、限流代理、日志代理和熔断器代理的 C# 实现与组合方式。
用 IAsyncEnumerable<T> 替换 ToListAsync(),将内存从 O(n) 压到 O(1)。本文提供 4 个生产级模式(EF Core、HttpClient、文件流、ASP.NET Core Controller),以及 4 种常见坑和修复方法。