Selon la documentation de Microsoft, l'article de SOLID sur Wikipedia, ou la plupart des architectes informatiques, nous devons nous assurer que chaque classe n'a qu'une seule responsabilité. J'aimerais savoir pourquoi, parce que si tout le monde semble être d'accord avec cette règle, personne ne semble être d'accord sur les raisons de cette règle.
Certains citent une meilleure maintenance, d'autres disent que cela facilite les tests ou rend la classe plus robuste, ou plus sûre. Qu'est-ce qui est correct et qu'est-ce que cela signifie réellement? Pourquoi améliore-t-il la maintenance, facilite les tests ou renforce le code?