Monografias.com > Computación
Descargar Imprimir Comentar Ver trabajos relacionados

Patrones de Comportamiento del Software




Enviado por Pablo Turmero



Partes: 1, 2, 3, 4


    Monografias.com
    1
    Patrones de comportamiento
    Relacionados con la asignación de responsabilidades entre clases.
    Enfatizan la colaboración entre objetos.
    Caracterizan un flujo de control más o menos complejo que será transparente al que utilice el patrón.
    Basados en herencia: Template Method e Interpreter
    Basados en composición: Mediator, Observer,..

    Monografias.com
    2
    Chain of Responsibility (Cadena de Responsabilidad)
    Propósito
    Evita acoplar el emisor de un mensaje a su receptor dándole a más de un objeto la posibilidad de manejar la solicitud. Se define una cadena de objetos, de modo que un objeto pasa la solicitud al siguiente en la cadena hasta que uno la maneja.
    Motivación
    Facilidad de ayuda sensible al contexto.
    El objeto que proporciona la ayuda no es conocido al objeto (p.e. un Button) que inicia la solicitud de ayuda.

    Monografias.com
    3
    Cadena de Responsabilidad
    Motivación

    Monografias.com
    4
    Cadena de Responsabilidad

    Monografias.com
    5
    Estructura
    Cadena de Responsabilidad

    Monografias.com
    6
    Cadena de Responsabilidad
    Aplicabilidad
    Más de un objeto puede manejar una solicitud, y el manejador no se conoce a priori.
    Se desea enviar una solicitud a uno entre varios objetos sin especificar explícitamente el receptor.
    El conjunto de objetos que puede manejar una solicitud puede ser especificado dinámicamente.

    Monografias.com
    7
    Cadena de Responsabilidad
    Consecuencias
    Reduce acoplamiento
    Proporciona flexibilidad al asignar responsabilidades
    No se garantiza el manejo de la solicitud

    Monografias.com
    8
    Cadena de Responsabilidad
    Implementación
    Dos posibles formas de implementar la cadena
    Definir nuevos enlaces (en Manejador)
    Usar enlaces existentes (p.e. un objeto composite)

    class ManejadorAyuda {
    public ManejadorAyuda (ManejadorAyuda s) {sucesor = s;};
    public void manejarAyuda () { if (sucesor != null) sucesor.manejarAyuda();};
    private ManejadorAyuda sucesor;
    }

    Monografias.com
    9
    Cadena de Responsabilidad
    Implementación
    ¿Qué sucede si tenemos diferentes tipos de solicitudes?
    En Manejador un método para cada solicitud
    En Manejador un único método con un parámetro que representa el tipo de solicitud, por ejemplo un String.
    En Manejador un único método que tiene un parámetro de una clase Solicitud que representa la solicitud.

    Monografias.com
    10
    Cadena de Responsabilidad
    Ejemplo 1: Java 1.0 AWT
    Mecanismo de delegación de eventos: Un evento es pasado al componente donde ocurre que puede manejarlo o lo pasa a su contenedor.

    public boolean action(Event event, Object obj) {
    if (event.target == test_button) doTestButtonAction();
    else if (event.target == exit_button) doExitButtonAction();
    else return super.action(event,obj);
    return true;}

    Partes: 1, 2, 3, 4

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter