Patrones de diseño

Páginas: 18 (4485 palabras) Publicado: 7 de agosto de 2013
Patrones para Asignación de Responsabilidades: (GRASP)
Se aplican durante la construcción de diagramas de interacción, al asignar responsabilidades a los objetos y
al diseñar la colaboración entre ellos.
Es importante acordar una definición de responsabilidad: contrato u obligación de un tipo o clase. Las
responsabilidades se relacionan con las obligaciones de un objeto respecto a sucomportamiento. Las
responsabilidades pertenecen básicamente a dos categorías: el conocer y el hacer.

Las responsabilidades relacionadas con el hacer:
Hacer algo en uno mismo.
Iniciar una acción en otros objetos.
Controlar y coordinar actividades en otros objetos.

Las responsabilidades relacionadas con el conocer:
Estar enterado de los datos privados encapsulados.
Estar enterado de laexistencia de objetos conexos.
Estar enterado de cosas que se pueden derivar o calcular.

Material Preparado por: Ing. Judith Meles
Apunte Patrones y Software UML 2.0

25

Patrón Experto
Solución: Asignar una responsabilidad al experto en información: la clase que cuenta con la información
necesaria para cumplir con la responsabilidad.
Problema: ¿Cuál es el principio fundamental en virtud delcual se asignan las responsabilidades en el diseño
orientado a objetos?
Comience asignando las responsabilidades con una definición clara de ellas.
Ejemplo: Sistema de Punto de Venta, ¿quién debe conocer el total de una venta?
Diagrama de Comunicación:

:Venta

t:=total()

1: *obtenerSiguiente()

:DetalleDeVenta

Actor
(from )
2: calcularSubtotal()

dVta :
DetalleDeVenta:EspecificacionDeProducto
2.1: getPrecio()

Conclusión:
Venta: conoce el total de la venta
DetalleDeVenta: conoce el subtotal de la Línea de Producto
EspecificaciónDeProducto: conoce el precio del producto.
Explicación:
Expresa la idea que los objetos hacen cosas relacionadas con la información que poseen.
Puede haber expertos parciales (ej. DetalleDeVenta), que ayudan para cumplir con unaresponsabilidad.
Beneficios:
Se conserva bajo el acoplamiento lo que favorece a tener sistemas robustos y de fácil
mantenimiento.
El comportamiento se distribuye con las clases que cuentan con la información requerida
fomentando la creación de clases sencillas y cohesivas.
Otras formas de designar este patrón:

Material Preparado por: Ing. Judith Meles
Apunte Patrones y Software UML 2.026

Patrón Creador
Solución: Asignar a la clase B la responsabilidad de crear una instancia de la clase A en uno de los
siguientes casos:
B agrega los objetos de A.
B contiene los objetos de A.
B registra las instancias de los objetos de A.
B utiliza específicamente los objetos de A.
B tiene los datos de inicialización que serán transmitidos a A cuando sea creado (así B es
un expertorespecto de la creación de A).
Problema: ¿Quién debería ser el responsable de crear una nueva instancia de alguna clase?
Ejemplo: Sistema de Punto de Venta, ¿quién debe crear el detalle de venta?
Diagrama de Comunicación:

1: crearDetalleVenta(cant :int)

:Venta

1.1: new(cant :int)

:DetalleDeVenta

:Actor

Venta
estaTerminada
fecha
hora
crearDetalleVenta(cant :int)efectuarPago()
estaTerminada()
montoPago()
total()

Conclusión:
Venta: crea el DetalleDeVenta
Explicación:
Guía la asignación de responsabilidades relacionadas con la creación de objetos. El propósito es
encontrar un creador que debemos conectar con el objeto producido, esto soporta el bajo
acoplamiento.
Beneficios:
Da soporte al bajo acoplamiento, lo cual supone menos dependencias respecto almantenimiento y
mejores oportunidades de reutilización. como la clase creada tiende a ser visible al creador (razón
por la cual se la eligió), el acoplamiento no aumenta.
Patrones Conexos:
Bajo Acoplamiento.
Parte- Todo: define los objetos que soportan el encapsulamiento de sus componentes.

Material Preparado por: Ing. Judith Meles
Apunte Patrones y Software UML 2.0

27

Patrón Bajo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Patrones De Diseño
  • Patrones de Diseño
  • patrones de diseño
  • Patrones De Diseño
  • patron de diseño
  • Patrones de Diseño
  • Patrones de Diseño
  • Patrones De Diseño

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS