Test

Páginas: 7 (1656 palabras) Publicado: 24 de abril de 2012
Diseño Dirigido por Responsabilidades con los patrones GRASP

© Pearson Educación, S.A. Todos los derechos reservados.

Experto (en información)
¿Cómo asignar responsabilidades? Asignar una responsabilidad al objeto que tiene la información necesaria para realizarla:
“El objeto que tiene la información realiza el trabajo”. Por ejemplo, ¿qué objeto de software calcula el impuesto sobre lasventas? ¿Qué tipo de información se necesita para llevar a cabo esta tarea? ¿Qué objeto u objetos tienen la mayor parte de esta información?
© Pearson Educación, S.A. Todos los derechos reservados.

Experto (en información)
En la aplicación del terminal de punto de venta (TPV) hay una responsabilidad que debemos asignar:
Calcular el importe total de una venta ¿A qué objeto vamos a asignaresta responsabilidad?

El patrón Experto nos sugiere asignar la responsabilidad al objeto que posea la información necesaria para desempeñarla.
¿Qué objeto tiene la información necesaria para --Cacular el importe total de una venta--?
© Pearson Educación, S.A. Todos los derechos reservados.

© Pearson Educación, S.A. Todos los derechos reservados.

Centrémonos en la parte que más nosinteresa

© Pearson Educación, S.A. Todos los derechos reservados.

¿Qué información se necesita para calcular el importe total?
Todas las instancias de LineaDeVenta, y La suma de sus subtotales

Ya que Venta contiene las instancias de LineaDeVenta, podría ser el experto adecuado

© Pearson Educación, S.A. Todos los derechos reservados.

Experto (en información)
¿Qué información senecesita para calcular la suma de sus subtotales?
LineaDeVenta.cantidad, y EspecificacionDelProducto.precio

Ya que LineaDeVenta conoce la cantidad y la EspecificacionDelProducto correspondiente, podría ser el experto adecuado Mientras que EspecificacionDelProducto se responsabilizaría de conocer el precio del produto
© Pearson Educación, S.A. Todos los derechos reservados.

Experto (eninformación)

© Pearson Educación, S.A. Todos los derechos reservados.

Experto (en información)

Clase Venta

Responsabilidad Calcular el importe total de una venta

LineaDeVenta

Calcular el subtotal de la línea de venta EspecificaciónDelProducto Conocer el precio del artículo

© Pearson Educación, S.A. Todos los derechos reservados.

Experto (en información)

Patrón
Nombre ProblemaExperto ¿A qué objeto asignar una responsabilidad? Asignarla a la clase que posea la información necesaria para desempeñarla Calcular el importe total de una venta en la aplicación TPDV

Solución Ejemplo

© Pearson Educación, S.A. Todos los derechos reservados.

Creador
¿Qué objeto debería crear X? Elegir un objeto C, de manera que: C contenga X, C agregue X, C registre X, C utilice másestrechamente X, C tenga los datos de inicialización para X. Cuantas más opciones se apliquen, mejor.
© Pearson Educación, S.A. Todos los derechos reservados.

Creador
En la aplicación responsabilidad de: TPV debemos asignar la

Crear una lineaDeVenta ¿A qué objeto vamos a asignar esta responsabilidad?

El patrón Creador nos sugiere asignar la responsabilidad a un objeto que agrege,contenga, ... instancias de lineaDeVenta.

© Pearson Educación, S.A. Todos los derechos reservados.

Creador

Los objetos Venta parecen buenos candidatos
© Pearson Educación, S.A. Todos los derechos reservados.

Debemos, pues, definir un método crearLineaDeVenta() en la clase Venta

© Pearson Educación, S.A. Todos los derechos reservados.

Creador
Patrón
Nombre Problema Creador ¿A quéobjeto asignar una responsabilidad de creación de instancias de una clase? Elegir los objetos que agregen, contengan, registren, utilicen más o posea los datos de inicialización de las instancias, Creación de instancias de LineaDeVenta en la aplicación TPDV
© Pearson Educación, S.A. Todos los derechos reservados.

Solución

Ejemplo

Bajo acoplamiento
Asignar responsabilidades de manera...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Test
  • Test
  • Test
  • Test
  • Test
  • test
  • test
  • Test

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS