object-oriented-programming-paradigm
Installation
SKILL.md
Object-Oriented Programming Paradigm
Ground OOP answers in the reference files bundled with this skill instead of improvising definitions. Each concept has a reference file explaining it and a folder of runnable examples in popular languages.
When to Use
- The user names a concept directly ("show me encapsulation in Swift", "what is the Liskov substitution principle?")
- The user describes a design problem that maps to a concept ("my subclass breaks when passed to code written for the base class")
- The user asks to compare concepts ("composition vs inheritance?", "coupling vs cohesion?")
- The user wants existing code reviewed or refactored against OOP principles (god classes, deep hierarchies, leaky abstractions, train-wreck call chains)
Workflow
- Identify the concept(s) from the user's question using the catalog below.
- Read the reference file at
references/<concept>.mdfor the explanation, applicability, trade-offs, and related concepts. - Read the language example at
examples/<concept>/<concept>.<ext>when the user works in (or asks for) a specific language. Adapt it to their domain rather than pasting the generic example verbatim. - Answer with: what the concept means, when it applies (and when it doesn't), and code adapted to the user's context.
If the user's problem does not call for object orientation, say so — plain functions and data structures are often simpler than a class model.