Intent
The component design pattern enables developers to decouple attributes of an objects. Essentially allowing a single component to be inheritable by multiple domains/objects without linking the objects to each other. In addition to this benefit, the component design pattern allows developer to write maintainable and comprehensible code which is less likely to result in monolithic classes.
About 2 min