©2025 Escuela Tecnologías de la Información S.L. Todos los derechos reservados.
Curso de Patrones
El curso de patrones de diseño de software más completo de la Red
Material disponible
Los patrones de diseño de software aportan soluciones conocidas a problemas recurrentes en el desarrollo de todo tipo de aplicaciones, así como a la lista de smell codes vistos en diseño orientado a objetos. Permiten reutilizar diseños de software orientado a objetos de manera efectiva, para crear soluciones más flexibles y escalables, facilitando el mantenimiento. Su estudio se convierte en una visión práctica de los principios, leyes, … y objetivos del diseño orientado a objetos: KISS, modularidad, principios de sustitución de Liskov, Abierto/Cerrado de Meyer, ...
En teoría, todos con un poco de práctica podríamos llegar a diseños que solucionen de una manera adecuada los problemas de las aplicaciones, sin embargo, aplicar patrones específicos nos permite usar técnicas probadas, más accesibles a los desarrolladores. Los patrones de diseño de software facilitan la elección de alternativas de diseño evitando soluciones que comprometan la calidad del software. Además, gracias a los patrones podemos disponer de un catálogo de soluciones que seremos capaces de aplicar sistemáticamente y de manera recurrente, lo que mejorará el desempeño del equipo y la calidad de los proyectos, sobre todo, porque se elevará el vocabulario en las reuniones de diseño donde la comunicación es fundamental entre los miembros del equipo!
En teoría, todos con un poco de práctica podríamos llegar a diseños que solucionen de una manera adecuada los problemas de las aplicaciones, sin embargo, aplicar patrones específicos nos permite usar técnicas probadas, más accesibles a los desarrolladores. Los patrones de diseño de software facilitan la elección de alternativas de diseño evitando soluciones que comprometan la calidad del software. Además, gracias a los patrones podemos disponer de un catálogo de soluciones que seremos capaces de aplicar sistemáticamente y de manera recurrente, lo que mejorará el desempeño del equipo y la calidad de los proyectos, sobre todo, porque se elevará el vocabulario en las reuniones de diseño donde la comunicación es fundamental entre los miembros del equipo!
Qué aprenderé en el Curso de Patrones
Objetivos del curso
Por qué debes aprender Patrones de diseño de software
Qué tengo que saber
Para hacer este curso necesitas tener conocimientos sólidos de programación orientada a objetos así como de diseño orientado a objetos.
Clases y contenidos
En esta clase veremos la introducción a los patrones de diseño. Qué son, por qué los debemos de usar, cuándo y cómo los debemos de usar. En esta introducción también presentaremos las ideas y mecánicas del curso.
Además comenzaremos a ver nuestro catálogo de patrones con el patrón Singleton, que explicaremos en detalle, sobre sus objetivos, modo de implementar y demás.
En esta clase hacemos un repaso de la introducción a patrones y vemos otros usos del patrón Singleton que no habíamos visto con detalle, o que no habíamos nombrado como el Multiplón. Además comenzamos con el siguiente patrón Abstract Factory.
En esta clase veremos los patrones creacionales que nos quedan por ver. Recuerda que en la clase anterior vimos Singleton y Abstract Factory, de modo que los que nos quedan por ver son:
- Builder
- Factory Method
- Prototype
Además comenzaremos con los patrones de diseño estructurales. En esta clase hemos visto:
- Adapter
- Bridge
En esta clase continuamos viendo los patrones de diseño estructurales. En la clase anterior habíamos visto Adapter y Bridge y en esta clase hemos terminado el listado completo de los patrones estructurales del libro: Composite, Decorator, Facade, Flyweight, Proxy.
En esta clase comenzamos con los patrones de diseño de software clasificados como "de comportamiento". Veremos los primeros patrones de esta clasificación:
- Chain of Responsibility
- Command
- Interpreter
- Iterator
Seguimos avanzando en la definición y explicación de los patrones de diseño de comportamiento. En esta clase veremos Mediator, Memento, Observer y State.
En esta clase hacemos un repaso general a los patrones de diseño que hemos abordado a lo largo de todo el curso y completamos la lista de patrones con los últimos que nos quedaban:
- Strategy
- Template Method
- Visitor Finalizamos el bloque de teoría de este curso con unas explicaciones sobre las motivaciones para aplicar patrones, cómo se deben aplicar, cuándo, cómo unos patrones se relacionan con otros, etc.
En esta clase vamos a ver el proyecto que vamos a realizar en el curso, el TicTacToe, sobre el que venimos trabajando también en cursos anteriores y en el que hemos ido construyendo diversas mejoras y adaptaciones. Veremos que muchas de las mejoras realizadas durante cursos anteriores eran ya implementaciones de patrones de diseño, aunque no les habíamos puesto nombre. Aterrizaremos las ideas y los conceptos en vista del conocimiento adquirido hasta ahora y nos pondremos en un estado del proyecto donde ya podremos aplicar patrones más complejos.
En esta clase vamos a ver cómo podríamos aplicar Undo / Redo en el juego del TicTacToe. Discutiremos qué patrones de diseño se podrían aplicar, por qué motivos. Luego veremos en el código cómo se implementan esos patrones de diseño, varios en conjunto, que serán necesarios para hacer un diseño adecuado para esta nueva funcionalidad.
En esta clase veremos el planteamiento de la práctica del Mastermind que permite realizar undo / redo, corrigiendo el código presentado por estudiantes del curso. Además realizaremos el planteamiento de la aplicación del TicTacToe permitiendo ahora su funcionamiento en dos modalidades: 1) standalone, en el que toda la aplicación se encuentra de manera monolítica en el mismo sistema y 2) mediante cliente servidor, con comunicaciones entre ambos vía sockets.
En esta clase solucionamos el código de una versión anterior en la que se habían ensuciado los controladores al tener que llevar el procesamiendo de dos modelos distintos de aplicación, standalone y cliente / servidor. Para ello aplicaremos el patrón proxy. Luego se plantean nuevos requisitos en los que se tendrá en cuenta la posibilidad de guardar partidas.
En esta clase veremos cómo se implementa la versión final de la práctica del TicTacToe, aplicando los últimos patrones para resolver de una manera adecuada los requisitos finales. Veremos el patrón DAO, que no está en la lista de los 23 patrones del libro de Gamma, pero que nos ayuda a resolver necesidades comunes con la capa de persistencia.
En esta clase vemos un resumen del enfoque correcto, a tener en cuenta para la aplicación de los patrones de diseño. Además hacemos el enunciado de un nuevo ejercicio práctico en el curso, basado en los tickets de una cadena internacional de sumermercados.
En esta clase veremos cómo se resuelve la práctica propuesta de patrones de diseño para aplicación en el supermercado internacional.Repasamos primero una solución realizada por un estudiante para luego entrar en la solución propuesta por el profesor. En el último punto de la clase se expresa la práctica propuesta para finalización del curso.
Se propone la realización del juego de las damas, junto a alternativas de otras prácticas posibles, como se detalla en el repositorio de esta práctica. https://github.com/Master-Desarrollo-20-21/Patrones-de-dise-o---Juego-de-las-damas El código está realizado de manera muy completa por un estudiante y se revisa en la clase de manera bastante detallada
Valoraciones
David del Castillo Rodriguez
Victor Moreno
Sólo sé que no sabía nada
Daniel Bernal
Muy bueno....
Pedro Márquez Gomez
Muy buen curso
Eduardo Franco Gutierrez
Excelente
Gonzalo
Antonio José Sinoga
Por su experiencia, Luis tiene el conocimiento, y por su vocación docente, la manera de transmitirlo. Es el Profesor, en mayúscula.
xavier gomez canals
Joana Pérez Jiménez
MARIBEL NARGANES
Muy bueno, en la línea de Luis
MARTIN ALONSO CASTILLO
Muy bueno, completo, satisfactorio
Luis Enrique Magallanes Ocampo
¡Excelentes explicaciones!
Javier Jara Fuentes
Cristóbal Cobos Budia
Luis Fernández es un gran profesor. Sabe transmitir de una manera muy clara la información y sin necesidad de usar florituras en el lenguaje. Como él ya dice en varias de sus explicaciones.
Jose Manuel Campos Soberano
Excelente calidad del curso... como siempre viniendo de luis fernandez. Esta metodologia de ensenanza que esta aplicando, puedo confirmar me esta ayudando un monton
Jose
Paula Quitián Hernandez
Rubén Galán Jiménez
Edilmer
Marc Torramilans Privat
Marcos Antonio Valencia Ramírez
V. HUGO VALLEJOS
Marcos Sánchez
Gran curso que forma parte de un excepcional Master dirigido y coordinado por buenos profesionales como son Miguel y Luis ..
Ana Santamaría Aparicio
Oro puro, como todos los cursos de Luis Fernández
Visualnacert
Manuel Malvar Tombo
Miguel Valiente
Programa completísimo, y de los que de verdad merece la pena hacer. Cambia por completo tu cabeza a la hora de desarrollar. Imprescindible.
DOCAL ARTAJO / JAIME
Magnifico curso, como todos los de Luis Fernández
Eduard Gallofré Asens
Manuel Alejandro Cano Champa
Excelente curso con el docente Luis, explica a profundidad y con fundamentos sólidos
Federico Estape
Un curso sencillamente brillante. Luis explica todo excelente, muy didáctico. Un placer tenerlo como profesor, ojalá dé muchos cursos más
Raul Martin Garces
Ingrid Carolina Peláez
Antonio Berbel Gonzalez
Luis es un gran profesor
Pedro Zamora
Jymmy Dextre Alarcon
Curso muy completo, teorico y luego practico.
Daniel Montero
Fernando Fuentes Perez
Antonio José Navarro Céspedes
Emilio Veras Ivanovich
Emmanuel Valdez
El manejo del tema del profesor es fenomenal.
Carlos
Gabriel Novoa
Cristian
Luis es el mejor!
Rene Zamorano
Excelente curso mas que recomendado, para que quienes como yo desean aprender los fundamentos y mejorar como profesionales
Maximiliano Pablo Perrone
Impresionante el contenido de este curso, recomendadisimo 100%
Antonio
Excelente curso, como todos los de Luis
Rubén Loureiro Bocija
Un placer seguir este curso. Luis Fernández habla siempre claro. El curso me parece ideal para no perderse con los patrones de diseño y tener claro que problemas resuelven y como nos pueden ayudar en nuestros proyectos.
Walter Osorio
Muy bueno el curso, excelente profesor.
Julian Gomez Fernandez
Excelente curso del gran Luis.
Nardo Edmundo Marmanillo Cano
Mis respetos al Prof Luis fernandez. Mi proposito era solo conocer este tema sin escribir codigo , gracias al prof ahora tengo un mejor alcance espero terminar el master gracias a su manera de enseñar
Andrés García
Completo, pero extendido de manera innecesaria
Andrés Camacho
Como programador con diez años de experiencia puedo decir sin temor a equivocarme que la particular visión de Luis Fernández aporta mucho valor.
Carlos Rueda
excelente contenido del curso, excelente metodología, el docente Luis todo un profesional
Ramón Pazos Egea
Roberto Dehesa
Ricardo Bermudez
Me ha gustado mucho el curso y, también, en el hecho de pensar bien, reflexionando en como resolver mi problema si lo tengo.
Miguel Angel Lopez Arango
Genial
Juan Diego Gómez
Un curso muy bueno, mi calificación es por que a lo largo del mismo se habla continuamente de un rework de los materiales, y los que yo he podido descargar siguen siendo los viejos (o eso me ha parecido)
Edwin leandro motoya osorio
Analogia del mundo real, escuchar a este hombre es como tener luz en la cueva mas oscura, su conocimiento es fundamental e integral, sin duda el mejor profesor que he visto
Nemesio Antonio Ordonez Miranda
Muy buena las conferencia y la teoría y principalmente el enfoque de aprendizaje del curso.
Cristian Vargas
Jose Luis
Muy bueno
JOSE MANUEL BAREA ORTIZ
Federico Andrés Jácome Castañeda
De momento un curso fantástico como todos los que llevo hechos en la plataforma como parte del este master. Todos los patrones bien explicados, con varios ejemplos y desde los fundamentos. Un 10, gracias por el trabajazo.
Francisco Morando
Excelente Curso. Es indispensable saber de diseño ya que este curso complementa y aterriza todos los conceptos del Diseño de software.
Victor Serrano
Bien explicado, detallado y con prácticas. El mejor curso de patrones que he visto.
Sergio Ucedo Berdejo
Exelente, mucha teoría y más práctica.
Alejandro Henao González
Raúl Grados
Es un curso genial!
Roxana Ariza Sánchez
Muy buen curso
Alvaro plaza lanzas
Juan Pablo González Cuéllar
Excelent course
Daniel Fuentes
Andres Hoyos
Eladio Feijoo Freire
Excelente
Germán Osvaldo Beltrán
Muy bueno
Francisco Javier Tejada Pérez
En mi opinión Luis Fdez es Un excelente profesor, me encanta como explica y además este curso es bastante completo y profundo.
¿Conoces nuestra tarifa plana?
Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.