PATRON STRATEGY

Motivación:
Permite  mantener un conjunto de algoritmos de los que el cliente puede elegir aquel que le convenga e intercambiarlo según sus necesidades; de manera que se puese  evitar problemas mediante la definición de las diferentes clases que encapsulan lineas de algoritmos. Un algoritmo que es encapsulado en este camino se llama una Strategy.
Estructura:
Participantes:
  • Strategy: 
Define el comportamiento de la interfaz que es común a todas las implementaciones concretas. El contexto invoca una aplicación específica a través de la interfaz Strategy. 
  • ConcreteStrategy:
Encapsula una aplicación de un algoritmo específico o comportamiento que se define la estrategia a través de la interfaz. 
  • Context:
Proporciona ciertos servicios que se define a través de la interfaz y la estrategia aplicada por ConcreteStrategy diferentes clases dependiendo de la conducta. El contexto de clase contiene una referencia a través de la interfaz Strategy a un objeto de  ConcreteStrategy. 
  • Client:
hace uso de la clase de contexto para invocar los diferentes servicios. Dependiendo de la asociación entre el contexto y clases ConcreteStrategy, las distintas implementaciones serán invocadas.
Referencias:

No hay comentarios:

Publicar un comentario