用途:为 .NET 应用提供类与接口层面的基础设计原则指导,帮助设计类、接口契约与依赖关系,并支持重构。适用于各类 .NET 项目。
主要能力:逐个讲解 SOLID 五项原则与 DRY,配合具体 C# 反模式和修复写法。SRP 覆盖 God Class、Fat Controller,主张一句话描述类职责,并把业务逻辑移到 handler 保持端点轻薄。OCP 用策略模式替代 switch on type,必要时用抽象基类共享行为。LSP 说明子类不得新增前置条件、削弱后置条件或抛出未声明的异常,并提示数组协变会在运行时抛 ArrayTypeMismatchException,建议使用 IEnumerable<T>、IReadOnlyList<T> 等协变接口。ISP 主张角色接口替代宽接口,方法参数接受实际需要的最窄接口。DIP 要求高层与低层模块都依赖抽象,给出仓储与通知服务的接口示例,并用 AddScoped 注册依赖。DRY 强调知识重复而非代码重复,引用 Rule of Three。
使用方式:作为技能被引用,在设计与重构时按其原则和示例调整代码;示例中的 DI 注册命令为 builder.Services.AddScoped<IOrderRepository, SqlOrderRepository>();。
范围与限制:本技能只负责类与接口层面的 SOLID/DRY 原则。架构模式、DI 容器机制、代码坏味检测、命名与风格规范分别由其他技能负责。DIP 只在模块边界应用,不应对值对象、DTO 或每个类都创建接口。资料未提供安装命令、收费信息或具体集成步骤。