Ti sconsiglio di seguire suggerimenti riguardanti l'ereditarietà, che troppo spesso è implementata in modo non corretto (per esempio in uno dei post in questo topic, in cui c'è una fantomatica classe "Model").
Se vuoi approfondire la questione, qui di seguito ci sono le slide di un ottimo intervento in italiano (con link al video) https://speakerdeck.com/fmosca/la-ta...er-inheritance