Posts
721
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
721
Tags
370
Featured
0
插件架构让系统具备运行时扩展能力,但也让测试变得更复杂。本文介绍三层测试方法——契约测试、单元测试、集成测试——每层针对不同的失败模式,帮助你为动态加载的插件系统建立可靠的测试体系。
Continue reading
用 .NET 8/9 的 AssemblyLoadContext 构建稳健插件系统,完整覆盖发现、初始化、激活、热重载和优雅关闭五个阶段,附可直接落地的代码模式和常见坑点说明。
Blazor United 在 .NET 10 中将服务端渲染和 WebAssembly 融为一体,允许在同一应用里按组件选择渲染模式。本文介绍其工作原理、核心特性与实际适用场景。
完整解析 .claude 文件夹的结构——CLAUDE.md、rules、skills、agents、commands、settings.json、全局 ~/.claude/ 目录,附 .NET 项目实践示例,让你彻底搞清楚每个配置文件的加载时机和使用场景。
不可变对象一旦创建就无法修改,这看起来是个限制,实则是一种设计力量。本文从数据完整性、线程安全、可预测性等角度,结合 C# 代码示例,解释为什么现代 .NET 开发应将不可变作为默认选项,以及如何用 record、Builder 模式和 with 表达式实现它。
介绍一个基于反射和编译委托的通用 GenericEqualityComparer<T>,无需修改类定义即可为任意 C# 类提供按值比较。涵盖公有/私有属性与字段的配置、EqualityWrapper 操作符重载、LINQ 集成以及适用边界。