User Tools

Site Tools


wiki:pru

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wiki:pru [2024/08/28 16:44] adminwiki:pru [2024/08/28 17:27] (current) admin
Line 5: Line 5:
 Un corolario de este principio recomienda separar la presentación de las reglas de negocio. Por lo tanto, un sistema debe tener clases de presentación, que se encargan de los aspectos de su interfaz con los usuarios, formato de los mensajes, medio por el cual se mostrarán los mensajes, etc. Y clases responsables de las reglas de negocio, es decir, que realizarán las computaciones, procesamiento, análisis, etc. Son intereses y responsabilidades diferentes que pueden evolucionar y sufrir modificaciones por razones distintas. Por lo tanto, deben implementarse en clases diferentes. Por esta razón, no es sorprendente que existan desarrolladores que se ocupan solo de requisitos de front-end (es decir, de clases de presentación) y desarrolladores que se ocupan de requisitos de back-end (es decir, de clases con reglas de negocio). Un corolario de este principio recomienda separar la presentación de las reglas de negocio. Por lo tanto, un sistema debe tener clases de presentación, que se encargan de los aspectos de su interfaz con los usuarios, formato de los mensajes, medio por el cual se mostrarán los mensajes, etc. Y clases responsables de las reglas de negocio, es decir, que realizarán las computaciones, procesamiento, análisis, etc. Son intereses y responsabilidades diferentes que pueden evolucionar y sufrir modificaciones por razones distintas. Por lo tanto, deben implementarse en clases diferentes. Por esta razón, no es sorprendente que existan desarrolladores que se ocupan solo de requisitos de front-end (es decir, de clases de presentación) y desarrolladores que se ocupan de requisitos de back-end (es decir, de clases con reglas de negocio).
  
-**Ejemplo**: La siguiente clase ilustra una violación del Principio de Responsabilidad Única. El método calculaIndiceDeInasistencia de la clase Disciplina tiene dos responsabilidades: calcular el índice de deserción de una asignatura e imprimirlo en la consola del sistema.+**Ejemplo**: La siguiente clase ilustra una violación del Principio de Responsabilidad Única. El método calculaIndiceDeInasistencia de la clase Asignatura tiene dos responsabilidades: calcular el índice de inasistencia de una asignatura e imprimirlo en la consola del sistema.
  
 <code java> <code java>
Line 16: Line 16:
  
 } }
 +</code>
  
 +Una solución consiste en dividir esas responsabilidades entre dos clases: una clase de interfaz con el usuario (''Console'') y una clase de regla de negocio (''Asignatura''), como se muestra en el siguiente código. Entre otros beneficios, esta solución permite reutilizar la clase de negocio con otras clases de interfaz, como clases de interfaz gráfica, interfaz web, interfaz para móvil, etc.
 +
 +<code java>
 +class Console {
 +
 +  void imprimeIndiceDeInasistencia(Asignatura asignatura) {
 +    double indice = asignatura.calculaIndiceDeInasistencia();
 +    System.out.println(indice);
 +  }
 +
 +}
 +
 +class Asignatura {
 +
 +  double calculaIndiceDeInasistencia() {
 +    double indice = "calcula índice de inasistencia"
 +    return indice;
 +  }
 +
 +}
 </code> </code>
 +
 +
wiki/pru.1724877886.txt.gz · Last modified: 2024/08/28 16:44 by admin