Posts
875
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
875
Tags
516
Featured
0
当多个对象需要通信时,Mediator 和 Observer 两种模式都能降低耦合,但实现思路截然不同。本文用同一套订单通知系统,从通信模型、耦合结构、路由能力、扩展性和 C# 原生支持几个维度做对比,帮你判断什么时候该用集中协调,什么时候该用广播通知。
Continue reading
备忘录模式是 GoF 行为型模式中专门解决状态保存与恢复的那一个。本文从三个角色(Originator / Memento / Caretaker)拆解,覆盖基础实现、撤销重做、序列化快照和嵌套类封装,附带完整 C# 代码。
中介者模式用起来不难,难的是用久了不烂。本文整理 6 条 C# 落地实践:接口隔离、按域拆分、避开上帝中介者、强类型通知、错误处理和测试策略,帮你在项目增长时守住可维护性。
单一职责原则(SRP)是 SOLID 的起点。本文从 Actor 视角重新解读 SRP,结合反例拆解和重构代码演示,讲清楚为什么一个类只应该为一个角色而变,以及如何在 .NET 10 的日常开发中落地。
真实业务流程大多跨多个步骤:下单、扣库存、收款、发通知,每个环节都可能失败或超时。Dapr Workflow 让你用普通 C# 代码编排这些步骤,Dapr 负责把每一步持久化到状态存储中——进程崩溃后重启,工作流会从断点继续执行,不会重复扣款。本文带你从零搭建一个订单处理工作流,并用 .NET Aspire 统一管理 Dapr sidecar、Valkey 状态存储和 Diagrid Dev Dashboard。
来自 Mattrx(110k MAU 的营销分析 SaaS)真实生产环境:10 个 async/await 错误如何造成线程池饥饿、死锁和延迟飙升。每个错误都包含可直接编译的错误代码、修复后的正确写法、dotnet-counters 诊断信号,以及修复后的量化指标——吞吐量从 1,200 RPS 提升到 4,500 RPS,p95 延迟从 8.2 秒降至 1.4 秒,两周工作零新基础设施。
大部分迭代器模式教程只演示玩具级别的集合遍历。本文从一个真实生产场景出发——遍历数千条数据库记录而不一次性加载到内存——带你从零构建同步与异步两个版本的分页迭代器,集成仓储模式与依赖注入,并配有完整的 xUnit 测试。看完可以直接用在自己的数据访问层里。
SOLID 不是背五个缩写,而是用来控制 C# 代码腐化的设计工具。本文结合 Dev Leader 的 .NET 10 参考文章,拆解 SRP、OCP、LSP、ISP、DIP 各自解决的问题、典型坏味道和落地边界。
企业 AI 不一定适合全自动执行。本文用 ASP.NET Core 拆解 Human-in-the-Loop 架构:AI 生成建议,进入审批队列,人类审核后再执行,同时保留通知、审计、RBAC 和反馈闭环。
Microsoft 这篇文章把 SDD 放到 AI 原生工程语境下:真正的瓶颈不再是代码生成速度,而是需求、设计、实现和验证能否围绕同一份规格保持一致。
Mediator 模式适合收束多对象之间复杂、易变的通信规则,但不适合简单稳定的直接调用。这篇用 C# 表单协调、聊天室和替代模式对比,整理一套可落地的判断清单。
部署 ASP.NET Core Web API 时,先把 Docker 镜像做对,再补上 Compose 本地依赖、健康检查、环境配置、Azure App Service 或 Container Apps、Key Vault 密钥和启动性能优化。