buscando ejemplo

Hola a todos, necesito ayuda ya que estoy buscando un ejemplo del patron estrategia para persistirlo en una base de datos. He estado buscando en google pero no encuentro nadda. ¿ustedes teneis algun ejemplo?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Busca por DAO ( Data Access

Busca por DAO ( Data Access Object ) que es básicamente un "Strategy" para precisamente persistir datos.

Imagen de ezamudio

no será otra cosa?

Oscar, no se refiere este cuate a las estrategias de optimistic locking, pessimistic locking, etc?

quizá jamás lo sepamos :-/

quizá jamás lo sepamos :-/

Hola, me refiero exactamente

Hola, me refiero exactamente al patron de diseño estrategia y creo que me he explicado.

Imagen de neko069

No sé porqué dices que no hay

No sé porqué dices que no hay ejemplos, en ésta liga está la explicación de la Winkipedia (en english) y ésta otra también está explicado y ejemplificado, junto con ligas en ejemplos en algunos otros lenguajes.
Te recomiendo que hagas búsquedas en términos de inglés, a veces el contenido en español, no es mucho, no está completo, o no está bien ejemplificado.

Hola, buscare en ingles

Hola, buscare en ingles tambien,ahora mirare sus referencias , peroLo que me refiero un ejemplo del patron estrategia con datos persistentes, ya que no se como pasar el diagrama de clases de dicho patron a tablas y despues relacionarlas

Como por ejemplo lo que he encontrado en internet
el diagrama de clases del calculo de impuestos de acuerdo al país

Código:
Clase ordenCompra

fecha :datetime
total:double
calculoImpuesto:TaxCal

getTax():double

Interface Taxcalc
taxTotal(OrdenCompra):double

Clase EuropaTax
taxTotal(OrdenCompra):double

Clase MexicoTax
taxTotal(OrdenCompra):double

Espero que me puedan ayudar ando un poco perdido

Respuesta:

Respuesta:

Imagen de bferro

¿Pesistir un patrón en una base de datos?

La pregunta que haces es un poco extraña, y más aún con relación al patrón de diseño estrategia que poco tiene que ver con soluciones a la persistencia de datos.
Strategy es uno de los patrones de diseño descritos en el texto de GOF (Gang of Fours) que tiene la intención de permitir el uso de reglas de negocio o algoritmos diferentes dependiendo del contexto en el cual esos algoritmos se utilizan.
La idea es que cuando trabajas con una familia de algoritmos, puedas encapsular cada uno de ellos en una clase, poderlos usar de forma independiente y también lograr que puedas modificar esos algoritmos con independencia de los clientes que los están usando.
Es un patrón que se basa en unos pocos principios:

  • Los objetos tienen responsabilidades
  • Las implementaciones diferentes de esas responsabilidades se pueden usar e intercambiar mediante el comportamiento polimórfico de los objetos.

  • Existe la necesidad de administrar varias implementaciones diferentes de lo que conceptualmente es el mismo algoritmo.
  • Es una buena práctica de diseño separar los diferentes comportamientos que pueden ocurrir en un problema,
  • desacoplándolos entre sí. De esta forma, podemos cambiar la clase responsable de un comportamiento sin modificar las otras.

Estrategia es uno de los patrones que aplica el principio de diseño "Favor composition over inheritance" y se ofrece como una alternativa a la herencia. Encuentras la necesidad de usar ese patrón cuando encuentras problemas como los siguientes:

  • Necesitas diferentes variantes de un mismo algoritmo
  • Una clase define muchos comportamientos para resolver un mismo algoritmo y entonces llenas el código con sentencias condicionales. Es mejor asignar cada comportamiento a una clase y definir una clase abstracta o una interfaces (la estrategia) y escribir entonces clase concretas que implementan esa interfaz y escribir en cada una de ellas una estrategia concreta (una implementación particular de ese algoritmo.

Puede suceder que la tarea que quieras resolver tenga que ver con diferentes estrategias para persistir datos, dependiendo del contexto del cliente que usa esas estrategias, lo que es diferente de hacer persistir el patrón.

En muchas aplicaciones que la gente escribe hace uso del patrón Strategy sin tan siquiera darse cuenta de eso.