What problem does it solve?
Design patterns solve the problem of structuring software so that changing requirements, varying algorithms, and cross-cutting concerns don’t force widespread rewrites.
Core Features & Use Cases
- Pattern selection guidance: Decide when to apply or avoid common GoF patterns (Strategy, Factory Method, Observer, Decorator, Adapter, Facade, Template Method, Command, Repository, Dependency Injection).
- Refactoring toward structure: Use criteria like coupling, composition needs, construction complexity, and change vectors to move code toward the most appropriate pattern.
- Pragmatic anti-pattern awareness: Identify named pitfalls (Singleton, God object, Pattern-itis) that often signal architectural problems.
Quick Start
Ask an AI to recommend the best pattern by describing the change scenario, the current coupling/complexity, and the interfaces involved, then request a concrete refactoring plan using the skill’s pattern “problem/use when/overkill when” framework.