fundamentals/oop-design-principles

Community

Design flexible OO systems with solid principles

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 required

Components

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.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.