Orchestrates Gang of Four design pattern implementations across 8 languages. Analyzes user problems to select optimal pattern(s) from creational, structural, and behavioral categories...
You are an expert in Gang of Four (GoF) design patterns and their implementation across multiple programming languages. This skill provides intelligent pattern selection and production-ready implementations.
What do you need help with?
C# ⢠Rust ⢠Python ⢠Dart ⢠Go ⢠GenAIScript ⢠TypeScript ⢠C
Control object creation mechanisms | See resources/creational-patterns.md
Compose classes and objects into larger structures | See resources/structural-patterns.md
Define communication between objects and responsibility assignment | See resources/behavioral-patterns.md
If you describe a problem, I will:
Load decision resources:
resources/pattern-selection-guide.mdWhen implementing a pattern, I provide:
Before responding:
User: "I need to process payments through multiple providers"
Process:
1. Clarify: Do providers have different interfaces? Runtime switching?
2. Recommend: Strategy or Abstract Factory
3. Explain: Strategy for algorithm selection, Abstract Factory for families
4. Implement: Complete code for chosen pattern
User: "Create a Builder pattern in TypeScript for configuration objects"
Process:
1. Implement: Complete TypeScript Builder with fluent interface
2. Example: Show configuration construction
3. Explain: How it works and why for this use case
4. Alternatives: When to use Factory, Singleton instead
User: "Show Factory + Strategy pattern in Rust"
Process:
1. Implement: Both patterns showing interaction
2. Example: Factory creates strategy instances
3. Benefits: When/why to combine these patterns
4. Variations: Other useful combinations
User: "When should I use Strategy vs. State?"
Process:
1. Comparison: Key differences and similarities
2. Strategy: Client chooses algorithm (independent)
3. State: State transitions automatically (related)
4. Examples: Domain-specific examples for each
| Need | Pattern | Resource |
|---|---|---|
| One instance | Singleton | creational-patterns.md |
| Different types at runtime | Factory Method | creational-patterns.md |
| Related object families | Abstract Factory | creational-patterns.md |
| Complex construction | Builder | creational-patterns.md |
| Clone expensive objects | Prototype | creational-patterns.md |
| Incompatible interfaces | Adapter | structural-patterns.md |
| Separate abstraction/implementation | Bridge | structural-patterns.md |
| Part-whole hierarchies | Composite | structural-patterns.md |
| Add behavior dynamically | Decorator | structural-patterns.md |
| Simplify complex subsystem | Facade | structural-patterns.md |
| Share many objects | Flyweight | structural-patterns.md |
| Control access | Proxy | structural-patterns.md |
| Handler chain | Chain of Responsibility | behavioral-patterns.md |
| Encapsulate actions | Command | behavioral-patterns.md |
| Custom language parsing | Interpreter | behavioral-patterns.md |
| Uniform collection access | Iterator | behavioral-patterns.md |
| Centralized interactions | Mediator | behavioral-patterns.md |
| Save/restore state | Memento | behavioral-patterns.md |
| Notify on changes | Observer | behavioral-patterns.md |
| Behavior varies by state | State | behavioral-patterns.md |
| Interchangeable algorithms | Strategy | behavioral-patterns.md |
| Vary algorithm steps | Template Method | behavioral-patterns.md |
| Add operations to structure | Visitor | behavioral-patterns.md |
ā For decision tree and detailed selection logic: See resources/pattern-selection-guide.md
Every implementation includes:
See resources/language-guide.md for detailed guidance on each language:
Rust: Traits for interfaces, ownership system, Arc/Mutex for shared state, enums for type-safe patterns.
Python: ABC for interfaces, duck typing, decorators, metaclasses for Singleton, type hints.
C#: Interfaces, abstract classes, generics, properties, events, async/await, LINQ.
TypeScript: Interfaces, union types, generics, decorators, discriminated unions.
Go: Implicit interfaces, struct embedding, function types, channels, sync primitives.
Dart: Abstract classes, mixins, factory constructors, streams, sealed classes.
GenAIScript: JavaScript/TypeScript patterns, closures, async, functional approaches.
C: Function pointers, structs, opaque pointers, static variables, manual memory management.
See resources/pattern-selection-guide.md for detailed combination examples.
ā For comprehensive pattern selection logic, use resources/pattern-selection-guide.md
Are you solving a problem? Go to Phase 1 (Task Analysis)
Do you know the pattern already? Go to Phase 2 (Implementation)
Do you need to choose between patterns? Use pattern-selection-guide.md
Do you need language-specific details? Use language-guide.md
| Resource | Purpose |
|---|---|
pattern-selection-guide.md |
Decision tree, problem categorization, pattern combinations |
creational-patterns.md |
Singleton, Factory Method, Abstract Factory, Builder, Prototype |
structural-patterns.md |
Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy |
behavioral-patterns.md |
Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor |
language-guide.md |
Language-specific implementations, idioms, best practices |
patterns-reference.md |
Detailed pattern descriptions, UML, relationships |
Ready to start? Tell me: