fundamentals/oop-design-principles
CommunityDesign flexible OO systems with solid principles
Software Engineering#interfaces#composition#abstraction#design-principles#encapsulation#object-oriented
Authorjohnnystefan
Version1.0.0
Installs0
System Documentation
What problem does it solve?
This Skill ensures object-oriented systems avoid brittle hierarchies, tightly coupled dependencies, and hard-coded variability by codifying the three core principles described in the instructions.
Core Features & Use Cases
- Encapsulate What Varies: Identify volatile logic such as tax calculations, payment gateways, or export formats and move it into dedicated helpers or classes.
- Program to an Interface, Not an Implementation: Replace direct class dependencies with interface contracts so each role relies on abstractions and can accept new collaborators.
- Favor Composition Over Inheritance: Prefer delegating behavior to interchangeable components instead of proliferating subclasses with combinatorial features.
- Use Case: While refactoring a multi-tenant platform, apply these steps to isolate provider differences, define interface layers, and swap inheritance hierarchies with composition strategies.
Quick Start
Review a subsystem, separate the changing logic into dedicated collaborators, and swap direct inheritance with interface-driven composition.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: fundamentals/oop-design-principles Download link: https://github.com/johnnystefan/test-saas-business/archive/main.zip#fundamentals-oop-design-principles Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.