dotnet-design-pattern-review
作者: github
全面的C#/.NET设计模式分析,提供可操作的改进建议。评估六种核心模式:命令模式、工厂模式、依赖注入、仓储模式、提供者模式和资源模式,对照GoF和SOLID原则进行分析。检查架构合规性,包括命名空间约定、项目分离、async/await模式和结构化日志实现。从安全性、可测试性、可维护性和性能等维度审查代码质量,并提供具体...
npx skills add https://github.com/github/awesome-copilot --skill dotnet-design-pattern-review.NET/C# Design Pattern Review
Review the C#/.NET code in ${selection} for design pattern implementation and suggest improvements for the solution/project. Do not make any changes to the code, just provide a review.
Required Design Patterns
- Command Pattern: Generic base classes (
CommandHandler<TOptions>),ICommandHandler<TOptions>interface,CommandHandlerOptionsinheritance, staticSetupCommand(IHost host)methods - Factory Pattern: Complex object creation service provider integration
- Dependency Injection: Primary constructor syntax,
ArgumentNullExceptionnull checks, interface abstractions, proper service lifetimes - Repository Pattern: Async data access interfaces provider abstractions for connections
- Provider Pattern: External service abstractions (database, AI), clear contracts, configuration handling
- Resource Pattern: ResourceManager for localized messages, separate .resx files (LogMessages, ErrorMessages)
Review Checklist
- Design Patterns: Identify patterns used. Are Command Handler, Factory, Provider, and Repository patterns correctly implemented? Missing beneficial patterns?
- Architecture: Follow namespace conventions (
{Core|Console|App|Service}.{Feature})? Proper separation between Core/Console projects? Modular and readable? - .NET Best Practices: Primary constructors, async/await with Task returns, ResourceManager usage, structured logging, strongly-typed configuration?
- GoF Patterns: Command, Factory, Template Method, Strategy patterns correctly implemented?
- SOLID Principles: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion violations?
- Performance: Proper async/await, resource disposal, ConfigureAwait(false), parallel processing opportunities?
- Maintainability: Clear separation of concerns, consistent error handling, proper configuration usage?
- Testability: Dependencies abstracted via interfaces, mockable components, async testability, AAA pattern compatibility?
- Security: Input validation, secure credential handling, parameterized queries, safe exception handling?
- Documentation: XML docs for public APIs, parameter/return descriptions, resource file organization?
- Code Clarity: Meaningful names reflecting domain concepts, clear intent through patterns, self-explanatory structure?
- Clean Code: Consistent style, appropriate method/class size, minimal complexity, eliminated duplication?
Improvement Focus Areas
- Command Handlers: Validation in base class, consistent error handling, proper resource management
- Factories: Dependency configuration, service provider integration, disposal patterns
- Providers: Connection management, async patterns, exception handling and logging
- Configuration: Data annotations, validation attributes, secure sensitive value handling
- AI/ML Integration: Semantic Kernel patterns, structured output handling, model configuration
Provide specific, actionable recommendations for improvements aligned with the project's architecture and .NET best practices.
来自 github 的更多技能
console-rendering
github
在Go中使用基于结构体标签的控制台渲染系统的说明
official
acquire-codebase-knowledge
github
当用户明确要求映射、记录或熟悉现有代码库时使用此技能。触发词如“映射此代码库”、“记录…
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
通过AgentRC指令命令生成定制化的AI代理指令文件。生成.github/copilot-instructions.md(默认,推荐用于VS Code中的Copilot…
official
acreadiness-policy
github
帮助用户选择、编写或应用AgentRC策略。策略通过禁用无关检查、覆盖影响/级别、设置…来定制就绪评分。
official
add-educational-comments
github
为代码文件添加教育性注释,将其转化为有效的学习资源。根据三个可配置的知识水平(初级、中级、高级)调整解释深度和语气。若未提供文件,自动请求文件,并附带编号列表以便快速选择。仅通过教育性注释将文件扩展最多125%(硬性限制:新增400行;超过1000行的文件限制为300行)。保留文件编码、缩进风格、语法正确性以及...
official
adobe-illustrator-scripting
github
使用ExtendScript(JavaScript/JSX)编写、调试和优化Adobe Illustrator自动化脚本。在创建或修改操作…的脚本时使用。
official
agent-governance
github
声明式策略、意图分类及审计追踪,用于控制AI代理工具访问与行为。可组合的治理策略定义允许/禁止的工具、内容过滤器、速率限制及审批要求——以配置而非代码形式存储。语义意图分类在执行工具前通过基于模式的信号检测危险提示(数据泄露、权限提升、提示注入)。工具级治理装饰器在函数层面强制执行策略...
official