Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Patrones de Diseño: Patrones de Comportamiento - Resumen, Apuntes de Patrones de Diseño

Un resumen de los patrones de comportamiento presentados en el libro de gamma et al., ofreciendo una descripción general de cada patrón y ejemplos ilustrativos. Una herramienta útil para estudiantes que buscan una introducción concisa a los patrones de diseño de comportamiento.

Tipo: Apuntes

2022/2023

Subido el 02/04/2025

ugtcombizkaia2
ugtcombizkaia2 🇪🇸

1 documento

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
RESUMENPATRONESDE
COMPORTAMIENTO
Estedocumentopresentaunresumendelospatronesde
comportamientopresentadosenellibrodeGammaetal.quepuede
utilizarsecomoreferenciaparasuestudio.
Versión1.0
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Patrones de Diseño: Patrones de Comportamiento - Resumen y más Apuntes en PDF de Patrones de Diseño solo en Docsity!

RESUMEN PATRONES DE

COMPORTAMIENTO

Este documento presenta un resumen de los patrones de comportamiento presentados en el libro de Gamma et al. que puede utilizarse como referencia para su estudio.

Versión 1.

Patrones de Diseño. Patrones de

Comportamiento

L os pat rones estructurales:

  1. Chain of Responsibility ( Cadena de responsabilidad)

e)

  1. Command (Orden)
  2. Interpreter (Intérpret
  3. Iterator (Iterador)
  4. Mediator (Mediador) erdo) r)
  5. Memento (Recu
  6. Observer (Observado
  7. State (Estado) a) Método plantilla)
  8. Strategy (Estrategi
  9. Template Method (
  10. Visitor (Visitante)

Chain of Responsibility (Cadena de responsabilidad)

Definición

Permite establecer una cadena de objetos receptores a través de los cuales se pasa una etición formulada por un objeto emisor. Cualquiera de los objetos receptores puede esponder a la petición en función de un criterio establecido.

p r

Véase el ejemplo de Wikipedia

Otro ejemplo

Podemos imaginar una aplicación que muestra como funciona la cadena de responsabilidad, para una empresa donde hay que pedir autorización para realizar un gasto. El que decide si se puede hacer el gasto en función de la cantidad puede ser tu jefe, el jefe de tu jefe, etc. Para na cadena: Directive  Director  Vicepresidente  Presidente, podemos ver o resultado sería:

u ChainResponsability.java. Cuy

¿Cuanto dinero quieres gastar?

.0 requiere una reunión del equipo de dirección!

¡Tu solicitud para gastar $ ¿Cuanto dinero quieres gastar?

cantidad de $20000.

El presidente puede aprobar la ¿Cuanto dinero quieres gastar?

El Vice‐presidente puede aprobar la cantidad de $10000.

simplificar la interfaz de un contenedor, ya que éste no contendrá los métodos de rec n ejemplo típico lo tenemos en Java. El cliente solicita al contenedor un iterador. A orma de recorrer el contenedor:

orrerlo. U continuación el iterador dirige la f

Vector vec = new Vector(); ) ); “ ) );

vec.add( new String( "hola“ vec.add( new String("adios Iterator it = vec.iterator(); while ( it.hasNext() ) System.out.println( (String) it.next() );

Mediator (Mediador)

Definición

Permite que un objeto haga de procesador central, coordinando las relaciones entre sus asociados o participantes. Permite la interacción de varios objetos, sin generar acoplamientos fuertes en esas relaciones. Todos los objetos se comunican con un mediador y es éste quién realiza la comunicación con el resto.

Ejemplo

Podemos imaginar una aplicación de una torre de control en un aeropuerto. Los pilotos en los aviones que van llegando comunican con la torre, en vez de comunicar entre ellos. La torre decide qué avión puede despegar y aterrizan. Se puede ver la aplicación en Mediator.java

Memento (Recuerdo)

Definición

Permite almacenar el estado de un objeto (o del sistema completo) en un momento dado de manera que se pueda restaurar en ese punto de manera sencilla. Para ello se mantiene almacenado el estado del objeto durante un instante en una clase independiente de aquella a a que pertenece el objeto (pero sin romper la encapsulación), de forma que ese recuerdo icado y pueda volver a su estado anterior.

l permita que el objeto sea modif

Véase el ejemplo de Wikipedia

Otro ejemplo

Imaginamos una aplicación que puede fijar el estado de un objeto y luego guardar el estado en un Memento para recuperarlo más adelante, como se puede ver en Memento.java cuyo resultado de ejecución es:

Emisor: Fijando estado a Estado Emisor: Fijando estado a Estado Emisor: Almacenando en Memento. Emisor: Fijando estado a Estado Emisor: Almacenando en Memento. Emisor: Fijando estado a Estado Emisor: Estado después de recuperación del Memento: Estado

Observer (Observador)

Definición

Permite definir una dependencia del tipo uno‐a‐muchos entre objetos, de manera que cuando uno de los objetos cambia su estado, el observador se encarga de notificar este cambio a todos los otros dependientes. El objetivo de este patrón es desacoplar la clase de los objetos clientes del objeto, aumentando la modularidad del lenguaje, así como evitar bucles de actualización (espera activa o polling).

Véase el ejemplo de Wikipedia

Otro ejemplo

Podemos imaginar una aplicación donde un sujeto notifica al observador cuando cambia del estado. En este caso, el cliente llama un método en el sujeto directamente, como se puede ver en Oberserver.java

State (Estado)

Definición

Se utiliza cuando el comportamiento de un objeto cambia dependiendo del estado del mismo. or ejemplo: una alarma puede tener diferentes estados, como desactivada, activada, en terfaz Estado_Alarma y luego definimos los diferentes estados.

P

configuración. Definimos una in

Véase el ejemplo de Wikipedia

Otro ejemplo

Podemos imaginar una aplicación sencilla que usa un poco de lógica condicional para cambiar entre estados, como se puede ver en State.java

Strategy (Estrategia)

Definición

Permite determinar cómo se debe realizar el intercambio de mensajes entre diferentes objetos para resolver una tarea. El patrón estrategia permite mantener un conjunto de lgoritmos de entre los cuales el objeto cliente puede elegir aquel que le conviene e según sus necesidades.

a intercambiarlo dinámicamente

Véase el ejemplo de Wikipedia

Otro ejemplo

Podemos imaginar una aplicación que simula diferentes métodos de generación de una “frase del día” que muestre este patrón, en Strategy.java

Template Method (Método plantilla)

Definición

Permite definir una estructura algorítmica en la superclase, delegando la implementación a