SRP (PDF versión; HTML versión) establece que¿Cuándo viola SRP (principio de responsabilidad única)?
Nunca debe haber más de una razón para una clase para cambiar
Al echar un vistazo a Outlook, ventana Calendario de eventos , tiene el botón "Guardar y Cerrar".
Por eso, cuando las funcionalidades de una o ambas Guardar o Cerrar cambios, ese botón debería cambiar. Obviamente viola a SRP.
Esta funcionalidad ahorra tiempo y es conveniente ya que eso es lo que la mayoría de los usuarios esperan que haga cuando guardan un nombre en un calendario.
Pero ahora, mi pregunta es, cuando demás hacer que violan otra SRP que cuando la función tiene que ser utilizable en Outlook?
¿Qué? ¿Cómo cambia el botón al guardar o cerrar cambios? ¿Qué clase crees que implementa Save and Close? ¿Cómo afecta un cambio a esas funciones en el botón? –
Lo que quise decir con "cambio" fue eso, cuando la implementación subyacente de "guardar" o "cerrar" cambia; No cuando la IU del botón tiene que cambiar. – Sung
Mal ejemplo. La función con el código del botón tiene una _secuencia_ de dos acciones: "Guardar()" y "Cerrar()". Esto no viola nada. Cualquier función puede ser una secuencia, una iteración o una elección. –