ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Principio de Responsabilidad Unica


Enviado por   •  11 de Octubre de 2015  •  Documentos de Investigación  •  1.223 Palabras (5 Páginas)  •  107 Visitas

Página 1 de 5

SRP: el Principio de Responsabilidad Individual.

Nadie más que el mismo Buda debe tomar la responsabilidad de dar los secretos ocultos.

Este principio se describe en la obra de Tom DeMarco y Meilir página-Jones. Lo llamaron la cohesión. Entonces se define la cohesión como la relación funcional de los elementos de un módulo. En este capítulo vamos a cambio que significa un poco, y relacionamos la cohesión de las fuerzas que causan el módulo, o una clase, para cambiar.

SRP: El Principio de Responsabilidad Individual.

Una clase debe tener única razón para cambiar.

Considere el juego de bolos en el Capítulo 6. Para la mayor parte de su desarrollo la clase de juego estaba administrando dos responsabilidades distintas. Se mantiene un registro de la trama actual, y se calcula la puntuación. Al final, RCM y RSK separan estas dos responsabilidades en dos clases. El juego mantiene la responsabilidad de hacer un seguimiento de las tramas y el goleador tiene la responsabilidad de calcular la puntuación. (ver page83.)

¿Por qué era importante separar estas dos responsabilidades en clases separadas? Debido a que cada responsabilidad es un eje de cambio. Cuando los requisitos cambian el cambio se manifestará a través de un cambio en la responsabilidad entre las clases. Si una clase supone más de una responsabilidad, entonces habrá más de una razón para que cambie.

Si una clase tiene más de una responsabilidad, entonces las responsabilidades convertidas serán acopladas. Los cambios en una de las responsabilidades pueden afectar o inhibir la capacidad de la clase 'para cumplir con los demás. Este tipo de acoplamiento conduce a diseños frágiles que se rompen de manera inesperada cuando han cambiado.

Por ejemplo, considere el diseño en la Figura 8-1. La clase Rectangle tiene dos métodos que se muestran. Uno dibuja el rectángulo en la pantalla, el otro calcula el área del rectángulo.

[pic 1]

Dos aplicaciones diferentes utilizan la clase Rectangle. Una aplicación que hace la geometría computacional. Utiliza rectángulo para ayudar con las matemáticas de formas geométricas. Nunca dibuja el rectángulo en la pantalla. La otra aplicación es de carácter gráfico. También puede hacer algo de geometría computacional, pero sin duda dibuja el rectángulo en la pantalla.

Este diseño viola la SRP. La clase Rectangle tiene dos responsabilidades. La primera responsabilidad es proporcionar un modelo matemático de la geometría de un rectángulo. La segunda responsabilidad es hacer el rectángulo en una interfaz gráfica de usuario.

La violación de SRP causa varios problemas desagradables. En primer lugar, debemos incluir la interfaz gráfica de usuario en la aplicación de geometría computacional. En .NET la interfaz GUI tendría que ser construido y desplegado con la aplicación de geometría computacional.

Un mejor diseño es para separar las dos responsabilidades en dos clases completamente diferentes, como se muestra en la Figura 8-2. Este diseño mueve las partes computacionales de rectángulo en la clase geométrica Rectangle. Ahora los cambios realizados en la forma en rectángulos no pueden afectar a la Aplicación  de la Geometría Computacional.

Un mejor diseño es separar las dos responsabilidades en dos clases completamente diferentes, como se muestra en la Figura 8-2. Este diseño mueve las partes computacionales de rectángulo en la clase GeometricRectangle. Ahora los cambios realizados en la forma en rectángulos son prestados no puede afectar a la aplicación ComputationalGeometry.

[pic 2]

¿Qué es una responsabilidad?

En el contexto de la Principio de Responsabilidad Única (SRP) se define la responsabilidad de ser "una razón para el cambio." Si usted puede pensar en más de un motivo para el cambio de una clase, entonces esa clase tiene más de una responsabilidad. Esto es a veces difícil de ver. Estamos acostumbrados a pensar en la responsabilidad de los grupos.

Por ejemplo, considere la interfaz del módem en el Listado 8-1. La mayoría de nosotros estará de acuerdo en que esta interfaz se parece perfectamente razonable. Las cuatro funciones que declara son ciertamente funciones pertenecientes a un módem.

[pic 3]

[pic 4]

 

 

Sin embargo, hay dos responsabilidades que se muestran aquí. La primera responsabilidad es la gestión de conexiones. El segundo es la comunicación de datos. Las funciones de marcación y colgar de administrar la conexión del módem, mientras que las funciones de Send y Recv comunican datos.

...

Descargar como (para miembros actualizados) txt (8 Kb) pdf (1 Mb) docx (2 Mb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com