Bienvenido al curso de Aprende a programar usando patrones de diseño y programación para Android. Tal vez hayas hecho ya algún curso de programación de Android conmigo, o con algún otro instructor y hayas aprendido muchas cosas nuevas: layouts, estilos, temas, procesamiento de ficheros, llamadas a servidores... Eso está muy bien. Pero ahora, te llegan tus primeros clientes, quieres empezar a construir una app y a ganar dinero con las técnicas aprendidas y te das cuenta de que... no sabes por donde empezar.
En efecto. Esto me pasó a mi (y me ha pasado muchos años) hasta que he aprendido a hacer las cosas bien y a pensar en qué patrones de diseño me conviene utilizar para que cada vez que quiera añadir o modificar algo en mi app, no me vea envuelto en una odisea de cambio de código... Los patrones de diseño definen una forma de trabajo, unas directrices que pueden seguirse o no, y la verdad en muchos casos hacen que el código sea más legible, se pueda trabajar mejor y con un lenguaje común para el resto de desarrolladores. Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software. Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.
En particular, en este curso quiero enseñarte a utilizar en un caso de uso muy concreto los siguientes patrones de diseño haciendo uso de Java y en una app para Android enfocada a un negocio local de una ciudad imaginaria:
Patrón de la factoría. Consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos métodos definidos y otro(s) abstracto(s): el dedicado a la construcción de objetos de un subtipo de un tipo determinado.
Patrones creacionales. Corresponden a patrones de diseño de software que solucionan problemas de creación de instancias. Nos ayudan a encapsular y abstraer dicha creación.
Patrones materiales. Una aplicación debe ser fácil de usar, usable e intuitiva para tener garantías de éxito. Revisaremos las directrices de Google para saber diseñar materiales gráficos de forma correcta.
Patrones de Layout. Los XML y layouts conforman una de las formas de representar objetos y actividades. Veremos algunos patrones de diseño para gestionar la versatilidad de interfaces y dispositivos de una app
Patrones estructurales. Son los patrones de diseño software que solucionan problemas de composición (agregación) de clases y objetos
Bridge: Desacopla una abstracción de su implementación.
Facade: Provee de una interfaz unificada simple para acceder a una interfaz o grupo de interfaces de un subsistema.
Adapter o Wrapper: Adapta una interfaz para que pueda ser utilizada por una clase que de otro modo no podría utilizarla
Decorator: Añade funcionalidad a una clase dinámicamente.
Patrones de activación. Tan importante es lo que el usuario ve así como interactúa con la app, así que veremos patrones de interactuación usuario-app.
Combinación y composición de patrones: los patrones de diseño por si solos son muy potentes, pero donde de verdad empiezan a ganar es cuando nos vemos capaces de combinarlos y conseguir resultados increíbles!
Patrón observador: no podemos estar pendientes siempre de lo que ocurre a nuestro alrededor, por eso ponemos un observador que nos notifique y nos avise de todos los posibles cambios en la app.
Y mucho más en un curso completísimo de desarrollo de Android avanzado usando patrones de diseño y mejores prácticas de la mano del profesor Juan Gabriel Gomila, que con más de 30000 estudiantes, es uno de los instructores más demandados del mercado español y latino y combina su tarea docente en la Universidad de las Islas Baleares con su pasión por los videojuegos dando charlas por todo el mundo.
TOMAR ESTE CURSO