🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install github/awesome-copilot/dotnet-design-pattern-review
💡 提示:需要 Node.js 和 NPM
.NET/C# 设计模式审查
审查 ${selection} 中的 C#/.NET 代码的设计模式实现情况,并为该解决方案/项目提出改进建议。请勿对代码进行任何更改,仅提供审查意见。
必需的设计模式
- 命令模式:泛型基类 (
CommandHandler<TOptions>)、ICommandHandler<TOptions>接口、CommandHandlerOptions继承、静态SetupCommand(IHost host)方法 - 工厂模式:复杂对象创建与服务提供者集成
- 依赖注入:主构造函数语法、
ArgumentNullException空值检查、接口抽象、适当的服务生命周期 - 仓储模式:为连接提供抽象的异步数据访问接口
- 提供者模式:外部服务抽象(数据库、AI)、清晰的契约、配置处理
- 资源模式:使用 ResourceManager 进行本地化消息管理,单独的 .resx 文件(LogMessages、ErrorMessages)
审查清单
- 设计模式:识别使用的模式。命令处理器、工厂、提供者和仓储模式是否正确实现?是否缺少有益的模式?
- 架构:是否遵循命名空间约定 (
{Core|Console|App|Service}.{Feature})?Core/Console 项目之间是否有适当的分离?是否模块化且可读? - .NET 最佳实践:是否使用了主构造函数、带有 Task 返回的 async/await、ResourceManager 用法、结构化日志记录、强类型配置?
- GoF 模式:命令、工厂、模板方法、策略模式是否正确实现?
- SOLID 原则:是否存在违反单一职责、开闭原则、里氏替换、接口隔离、依赖反转的情况?
- 性能:是否正确使用 async/await、资源释放、ConfigureAwait(false)、是否存在并行处理的机会?
- 可维护性:关注点分离是否清晰、错误处理是否一致、配置使用是否恰当?
- 可测试性:依赖项是否通过接口抽象、组件是否可模拟、是否支持异步测试、是否符合 AAA 模式?
- 安全性:是否有输入验证、安全凭据处理、参数化查询、安全的异常处理?
- 文档:公共 API 是否有 XML 文档注释、是否包含参数/返回值描述、资源文件组织是否合理?
- 代码清晰度:命名是否有意义并反映领域概念、模式是否清晰表达了意图、结构是否不言自明?
- 整洁代码:风格是否一致、方法/类大小是否合适、复杂性是否最小、是否消除了重复?
改进重点领域
- 命令处理器:基类中的验证、一致错误处理、适当的资源管理
- 工厂:依赖配置、服务提供者集成、释放模式
- 提供者:连接管理、异步模式、异常处理和日志记录
- 配置:数据注解、验证属性、安全处理敏感值
- AI/ML 集成:Semantic Kernel 模式、结构化输出处理、模型配置
请提供具体、可操作的改进建议,这些建议应与项目架构和 .NET 最佳实践保持一致。
📄 原始文档
完整文档(英文):
https://skills.sh/github/awesome-copilot/dotnet-design-pattern-review
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)