Skip to content

ENC2022/dp-strategy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Strategy - Caso práctico

Intención

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.

Clasificación

Patrón de Comportamiento

Vista Estructural

image

Vista Dinámica

image

Ejemplo Real

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:

image

Solución con el patrón Strategy:

image

image

image

Ejecucion

# 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

Home (Codespaces)

cd /workspaces/dp-strategy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published