What problem does it solve?
Replaces brittle, tightly coupled inheritance hierarchies with modular, testable composition to reduce cascading changes, simplify reasoning, and limit accidental API surface inheritance across codebases.
Core Features & Use Cases
- Function composition: Combine small pure functions into pipelines for validation, transformation, and persistence instead of inheriting shared behavior.
- Object/module composition: Assemble capabilities via has-a relationships, adapters, and explicit contracts rather than deep is-a hierarchies.
- Dependency injection & parameterization: Pass capabilities and rules in to make workflows configurable and easier to test, avoiding overridden hook methods.
- Use Cases: Refactoring legacy class hierarchies, designing React components with hooks, building domain-specific client modules, and creating migration plans from registries to modular plugins.
Quick Start
Outline a migration plan to replace a three-level inheritance hierarchy with composed modules, listing the small functions, module contracts, adapters, and injection points needed.