Define una familia de algoritmos, encapsula cada uno de ellos y los hace intercambiables. Este patrón permite que los algoritmos varíen de forma independiente a los clientes que los usen.
Patrón de Comportamiento
Mediante la implementación del patrón de diseño Strategy desarrollaremos una aplicación que permita la autenticación mediante diversos métodos. El usuario podrá autenticarse mediante una configuración de usuario por XML, Base de datos o una configuración en memoria. Mediante el patrón Strategy, nuestro cliente podrá configurar la aplicación para elegir que método de autenticación le es más conveniente, todo esto, sin necesidad de programar nada adicional.
Solución sin el patrón Strategy:
Solución con el patrón Strategy:
# Levantar contenedor de mysql -----------------
docker run --detach --name=posmysql --publish 6603:3306 ricardoqm/pos-mysql:1.0
# Consultar el contenedor mysql de modo interactivo ----
docker exec -it posmysql mysql -p
Enter password: pospassword
mysql> show databases;
mysql> use pos;
mysql> show tables;
mysql> select * from users;
mysql> exit
# Ejecutar Java-App - Preferir que la IDE detecte el proyecto Java, usar solo en caso de que no.
Utilizar GitPod en lugar de CodeSpaces.
cd app/build/classes/java/main
java oscarblancarte.ipd.strategy.StrategyMain
cd /workspaces/dp-strategy





