I\'m new to OOP following SOLID principles and i\'m having a hard time creating a design that do not break any SOLID principle.
I\'m using dart and <