Component-Based Design (CBD)
- •
What it is
- •
a design strategy that structures a system as a collection of independent, reusable components that collaborate through well-defined interfaces
- •
- •
Note
- •
distinct from Component-Level Design (which is about internal component qualities like coupling/cohesion) — CBD is the higher-level strategy of decomposing a whole system into independent components in the first place
- •
- •
Example breakdown
- •
an authentication component, a room-listing component, a booking component, a notification component — each independently developable and testable
- •
- •
Benefits
- •
maintainable (a change in one component doesn't ripple through the system), scalable (components can be extended independently), reusable (e.g. an auth component reused across apps), supports parallel development by different teams
- •
- •
Related
- •