We can bring another OOP idea: loose coupling, strong cohesion.<p>Inheritance can be useful when it captures a single shared aspect across multiple designs. It becomes unwieldy when it captures multiple shared aspects where each aspect may need to change independently.