-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The current version of blobmaker relies heavily on inheritance. In general, it is preferable to use composition instead of inheritance.
The following video does a good job of demonstrating why and how to do so: https://www.youtube.com/watch?v=hxGOiiR9ZKg. In a nutshell, it can lead to expensive and messy refactoring when the inheritance tree gets sufficiently complex.
It might be that many instances of inheritance are justified, but it could be worth identifying where composition could be used instead to improve the code. The cases where inheritance is justified will be the cases where a composition pattern would lead to too many lines of copy and pasted code for the common functionality. Essentially, we have to trade-off between the rigidity of inheritance and the repetitiveness of composition.