用途:为创建直观、一致且向前兼容的公共 .NET API 提供设计期原则,关注在兼容性工具介入之前的设计决策。
主要能力:公共 API 类型、方法与参数的命名约定;参数排序与重载递进;返回类型选择(可空、IReadOnlyList、IAsyncEnumerable、ValueTask);错误报告策略(异常、Try 模式、结果对象);扩展点(接口、委托、构建器模式);序列化类型的线格式兼容性。
使用方式:按标准顺序排列参数(目标、必需、可选、CancellationToken 最后);重载从简单到详细逐级委托;集合优先返回 IReadOnlyList,流式返回 IAsyncEnumerable;预期失败用 Try 模式;入口处用 ArgumentException.ThrowIfNullOrWhiteSpace 等校验;序列化类型使用显式 [JsonPropertyName] 并仅做增量演进。
适用场景:设计 .NET 库或服务的公共 API 表面、定义 DTO 与枚举序列化策略、规划扩展点与异常层次。
限制:不涉及二进制/源码兼容性强制与工具、PublicApiAnalyzers 与 CI 校验、通用 C# 命名与文件布局、HTTP API 版本与 URL 设计、NuGet 打包与 SemVer 机制。前提为 .NET 8.0+ SDK 与 C# 命名约定基础。