Due frasi comuni per il Principio di Responsabilità Unica (SRP) sono "ciascun modulo dovrebbe essere responsabile di una singola funzionalità o funzionalità in un sistema" e "ogni modulo dovrebbe avere solo una ragione per cambiare".
Le mie domande sono: è questo qualcosa che dovremmo assolutamente cercare in ogni classe di un sistema, o dovrebbe essere rilassato quando combiniamo moduli di livello inferiore per comporre i moduli più astratti?
Nel caso estremo, il modulo di livello superiore in un sistema sarà responsabile dell'intera gamma di funzioni di sistema, quindi sembra che potrebbe non essere possibile rispettare l'SRP in questo tipo di modulo.