Principio de responsabilidad única:granularidad de la razón para cambiar

StackOverflow https://stackoverflow.com/questions/27018

  •  09-06-2019
  •  | 
  •  

Pregunta

Al aplicar el principio de responsabilidad única y observar el motivo de cambio de una clase, ¿cómo se determina si ese motivo de cambio es demasiado granular o no lo suficientemente granular?

¿Fue útil?

Solución

No sé si hay una buena respuesta a este otro que "aplique su juicio, en función de su experiencia". Defiando de eso, obtener ayuda, lo que supongo es lo que estás haciendo aquí;)

En serio, sin embargo, si descubres que estás creando millones de clases para hacer lo que parece un trabajo simple, entonces probablemente estés siendo demasiado granular.Si todas tus clases parecen colosales, entonces probablemente estás siendo demasiado grosero.Por favor, perdónenme si eso es una afirmación obvia.

Creo que este es uno de esos casos confusos, sin reglas estrictas y rápidas, que nos muestran por qué necesitamos programadores humanos.Simplemente intente algo, busque el equilibrio y refactorice si descubre que va demasiado lejos en una dirección u otra.Y recuerda: si vale la pena hacerlo, vale la pena hacerlo mal.

Otros consejos

  1. Al principio no me preocuparía demasiado la granularidad.Inicialmente, me limitaré a separar las preocupaciones a un nivel más amplio.El punto básico es que debemos evitar el exceso de ingeniería aquí.Pero lo suficiente.estoy de acuerdo con lucas Aquí, que este primer paso mejorará con la experiencia.
  2. A medida que los requisitos cambian, a medida que empiezo a sentir los "olores", a medida que mejora mi comprensión del problema, refactorizaría el diseño factorizando las preocupaciones separadas a medida que se vuelven obvias.Básicamente, la separación de intereses también será evolutiva como ocurre con el diseño general.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top