oop
Installation
SKILL.md
OOP
Use this skill to reason about object modeling, responsibility placement, collaboration design, and language-specific object-oriented tradeoffs.
Intent Router
| Need | Load |
|---|---|
| core modeling heuristics, responsibility assignment, and review checklist | references/modeling.md |
| language-specific examples for Python, TypeScript, JavaScript, C, C++, C#, and Rust | references/language-examples.md |
Quick Start
- Identify the domain concepts, invariants, and lifecycle boundaries before proposing classes, traits, or interfaces.
- Place behavior near the data and rules it must protect; do not strand core logic in controllers, handlers, or utility bags.
- Prefer composition, explicit collaborators, and small interfaces over deep inheritance trees.
- Choose the lightest abstraction that fits the change pressure: sometimes that is a value object, sometimes a service, and sometimes just a function or module.
- Explain the design in terms of ownership, invariants, collaboration flow, and extension seams rather than only naming OOP principles.