Patrón STRATEGY en Android

patron strategy android

Episodio 148 – Patrón STRATEGY en Android

El patrón Strategy en Android sirve para definir una familia de algoritmos y hacer sus objetos intercambiables.

Bueno, en Android y en lo que quieras. Ya que es un patrón de diseño muy utilizado y agnóstico al lenguaje de programación.

En este episodio del podcast, contamos con Alonso Ato, miembro de Los androides Premium. Nos presenta de un modo claro y sencillo, un ejemplo de una app Android en la que usa este patrón de diseño.

¿Viste a Cirilo Bidó contando su experiencia monetizando apps con AdMob? 💲

Contenido del audio

Índice

00:00 | Cabecera
00:06 | Presentación y bienvenida
00:59 | Alonso nos cuenta sobre él, su experiencia y background 🙌🏼
01:42 | Presentación y definición del Strategy Pattern
03:03 | Ejemplo de problemática solucionada 💡
04:00 | Código fuente del ejemplo ✅
07:50 | Live demo 👀
08:10 | Conclusiones de la problemática resuelta
09:00 | ¿Por qué no usar una función de extensión?
11:44 | Otras consideraciones para no hacerlo así
14:18 | Conclusiones, despedida, agradecimientos y cierre 👏🏼

Transcripción

¡Muy buenas! Soy Gabi Moreno y te doy la bienvenida al episodio número 148 de Los androides. El podcast en el que te contamos técnicas, tips, herramientas, conceptos, hábitos y todo aquello que te va a hacer desatar tu potencial como Android Developer.

Patrón Strategy en Android.

Y hoy tenemos una charla técnica sobre el patrón Strategy. Es una de las sesiones dentro de Los androides Premium que fue impartida a cargo de nuestro compañero Alonso Ato. Ahí nos explican qué consiste con el código fuente y todo. Tienes también disponible el vídeo en YouTube para verlo si quieres. Una maravilla muy sencillo de entender, muy bien explicado y vamos poco más que añadir a lo veras.

Comentarte que lo que te voy a decir a continuación puede marcar un antes y un después en tu carrera profesional como Android Developer. Y dirás, bueno, esto no es un poquito de promis así de golpe y porrazo lo sueltas, pues no lo creo.

La semana pasada en la newsletter, en gabimoreno.soy/newsletter. O por lo menos ahí dentro de la newsletter escribí, pues si estabas listo para un punto de inflexión. Un punto de inflexión es un cambio que se produce cuando tomas una decisión / acción, es decir, una decisión acompañada de una acción que te lleva hacia el lugar donde quieres estar. No sé si has leído el libro «Hábitos Atómicos». Por cierto, si no lo has leído, deberías o no. Eso ya es responsabilidad tuya, responsabilidad, lo digo como si fuera esto, si quieres los lees y si no, pues no… 🙂

¿Qué es el patrón Strategy?

Es una forma inteligente de organizar algoritmos intercambiables. En otras palabras, te permite definir una familia de algoritmos, encapsular cada uno de ellos y hacer que se puedan sustituir. Esto se traduce en una mayor flexibilidad y facilidad de mantenimiento en tu código.

Strategy Pattern en Android

Dentro del ecosistema Android, el Strategy Pattern es una técnica muy valiosa. Imagina una app que use la cámara que permite a los usuarios elegir entre diferentes modos de disparo: normal, panorámico y modo nocturno. Aquí es donde entra en juego el patrón Strategy. Cada modo de disparo se convierte en una estrategia independiente que puedes remplazar fácilmente.

Implementación en Android

La implementación del patrón Strategy en Android generalmente implica la creación de clases separadas para cada estrategia y una clase de contexto que permite cambiar dinámicamente entre ellas. Puedes lograr esto utilizando interfaces y / o herencia en Kotlin. Aunque también lo podrías hacer mediante el uso de lambdas.

Ventajas del Patrón Strategy

  • Mantenimiento sencillo: si te hace falta agregar una nueva estrategia o modificar una existente, puedes hacerlo sin afectar otras partes del proyecto
  • Legibilidad mejorada: el código se vuelve más legible, ya que cada estrategia tiene su propia clase
  • Facilita los tests: es más fácil realizar tests unitarios en cada estrategia individualmente

Conclusión

El patrón Strategy en Android es una potente herramienta para gestionar la lógica de comportamiento en tu aplicación.

Publicado: 2023-10-30 Actualizado: 2024-03-19