De acuerdo con la documentación de Microsoft, el artículo principal de Wikipedia SOLID, o la mayoría de los arquitectos de TI, debemos asegurarnos de que cada clase tenga una sola responsabilidad. Me gustaría saber por qué, porque si todos parecen estar de acuerdo con esta regla, nadie parece estar de acuerdo con las razones de esta regla.
Algunos citan un mejor mantenimiento, otros dicen que proporciona pruebas fáciles o hace que la clase sea más robusta o de seguridad. ¿Qué es correcto y qué significa realmente? ¿Por qué mejora el mantenimiento, facilita las pruebas o hace que el código sea más robusto?