Ejemplo Básico de Interacción entre Dos Objetos

Anuncio
Ejemplo Básico de Interacción entre Dos Objetos
Cuando un comprador le solicita a un vendedor que le venda un producto, ambos están interactuando.
Cuando el vendedor le solicita al comprador que liquide la venta están teniendo otra interacción. También
son interacciones, cuando el comprador le pide al vendedor que cobre la venta y el último le entrega los
productos
adquiridos
al
primero.
Las interacciones son peticiones o mensajes intercambiados entre los objetos o elementos que colaboran.
Ayúdame que yo te Ayudaré
Ok, tal vez la frase original no sea como este título, pero es es una realidad en los procesos colaborativos.
En
estos,
los
objetos
se
piden
ayuda
para
lograr
un
objetivo
común.
El mensaje es el mecanismo mediante el cual dos objetos interactúan en los diagramas de interacción
(aplica para los dos tipos de diagramas de interacción, tanto para el de secuencia como para el de
comunicación). El mensaje es la forma en que un objeto ayuda a otro a continuar con el trabajo requerido.
Los mensajes se representan mediante flechas que van de un objeto a otro. El objeto emisor del mensaje
(de donde sale la flecha) le está solicitando al objeto receptor (a donde llega la flecha) que le ayude
proporcionándole cierto servicio, es decir, podemos hablar de una relación cliente-servidor entre dos
objetos.
Un Gran Poder Implica una Gran Responsabilidad
En una relación cliente-servidor, el objeto emisor es el cliente y receptor del mensaje es el servidor. El
receptor del mensaje tiene el “poder” de ayudar al emisor, pero esto también significa que el receptor
tiene
la
“responsabilidad”
de
atender
o
procesar
la
petición.
Uno de los aspectos clave en el paradigma orientado a objetos consiste en realizar una adecuada
asignación de responsabilidades a los objetos que colaboran en la realización de los procesos.
Supongamos que vamos a una tienda a adquirir un producto y, en repetidos intentos, le solicitamos
amablemente al vendedor que nos venda lo que queremos, pero éste último nos ignora, llegará un
momento en el que nuestra paciencia se agote y, en una forma menos amable, le exijamos al
irresponsable vendedor que nos atienda. Bajo este escenario los dos objetos que interactúan, nosotros
como compradores y la otra persona como vendedor, tenemos asignadas ciertas responsabilidades y
quien
recibe
la
petición
debe
ser
el
responsable
de
ejecutarla.
La figura 1 muestra al comprador interactuando con el vendedor y este a su vez con el almacenista en un
diagrama de secuencia. En los mensajes 1.0 y 1.3 el comprador es el emisor de los mensajes y por tanto
juega el rol de cliente mientras que el vendedor se desempeña como el servidor. En el mensaje 1.2 los
papeles se invierten, siendo el vendedor el cliente y el comprador el servidor.
Figura 1
En cuanto a las responsabilidades, el diagrama de secuencia nos indica que el comprador es responsable
de liquidar la venta mientras que el vendedor es responsable de atender la venta y de aplicar el pago a la
misma, así mismo, el almacenista es responsable de entregar los productos del almacén.
Pedir Por Favor o Dar una Orden
Nótese cómo las descripciones de los mensajes no están indicando la tarea que realiza el emisor del
mensaje
sino
la
solicitud
(u
orden)
que
éste
le
está
haciendo
al
receptor.
Cuando se modela una colaboración de objetos es muy importante no confundir los eventos con las
responsabilidades, de hacerlo así podríamos llegar a modelos poco apropiados como el que se muestran
en la figura 2.
Figura 2
La figura 2 nos da la noción de los pasos que se tienen que realizar para adquirir los productos, pero
definitivamente no refleja las responsabilidades reales de los objetos que colaboran en el proceso al
recibir los mensajes.
Nos ha dado excelentes resultados, en las prácticas realizadas con nuestros alumnos, recomendarles que
los diagramas de interacción usen una conversación imperativa en los mensajes, es decir … a veces no
hay que pedir, ¡ hay que dar órdenes! pues es su responsabilidad.
Descargar