Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading content…
Loading…
Transcript

Patrón de Comportamiento

Strategy.

Código del Ejemplo

Implementación

  • Definición de la comunicación entre Contexto y Estrategia.
  • Configurar el contexto con una estrategia (tipos genéricos).

  • Comportamiento por defecto en el contexto sin estrategia

Integrantes:

  • Márion Córdova
  • Christian Orellana
  • Francisco Roldán

Susana Gubernatis

Sección 227

n.n

Muchas Gracias

Estructura

Proposito

  • Definir una familia de algoritmos, encapsularlos y hacerlos intercambiables.
  • Permite que el algoritmo cambie sin que afecte a los clientes que lo usan.
  • También conocido como policy (política).

Ejemplo

Motivacion

Consecuencias

Colaboración entre

Participantes

  • La herencia ayuda a factorizar funcionalidad común de los algoritmos.
  • Alternativa a la extensión de contextos de cada uno con una estrategia o algoritmo.
  • Reducción de instrucciones condicionales.
  • Diferentes opciones de implementación para un mismo algoritmo.
  • Incremento del número de objetos.

Participantes

  • Es necesario el intercambio de información entre Estrategia y Contexto para implementar el algoritmo elegido:

- Parámetros de los métodos de la estrategia

Los clientes del contexto normalmente configuran a éste con una estrategia concreta. A partir de ahí, sólo se interactúa con el contexto.

- Ej: existen muchos algoritmos para dividir un flujo de texto en líneas.

- Codificar los algoritmos en las clases que los necesitan no es deseable por lo siguiente:

  • Los clientes se hacen más complejos
  • Distintos algoritmos serán apropiados en distintos momentos.
  • Es difícil añadir nuevos algoritmos y modificar los existentes.
  • No hay reutilización.

- Solución:

  • Definir clases que encapsulen los distintos algoritmos.

  • Strategy (Estrategia).

  • ConcreteStrategy (Estrategia Concreta).

  • Context (Contexto)

Aplicabilidad

- Usa el patrón Strategy cuando:

  • Varias clases relacionadas sólo difieren en su comportamiento. Strategy permite configurar a una clase con uno de entre varios comportamientos.
  • Se necesiten variantes del mismo algoritmo, que se implementan como una jerarquía de clases.
  • Un algoritmo usa datos que los clientes no tienen por qué conocer (ej. estructuras de datos específicas del algoritmo).

  • Una clase define muchos comportamientos que aparecen en sentencias condicionales → mover los relacionados a un strategy.
Learn more about creating dynamic, engaging presentations with Prezi