designing-oop-typescript
Installation
SKILL.md
Designing OOP TypeScript
When to use
- Creating new domain entities or value objects
- Refactoring procedural code into OOP
- Designing class hierarchies with SOLID principles
Core rules
- Classes over functions: all behavior encapsulated in classes
- Explicit access modifiers:
public,protected,privatealways written - SRP: one responsibility per class, split when growing
- Encapsulation: no public mutable fields, expose intent via methods
- Immutability: value objects are readonly, entities use private state
- SOLID: Single responsibility, Open/closed, Liskov, Interface segregation, Dependency inversion