PDD01ILTDesarrollo de Software
Patrones de diseño: de la arquitectura a la implementación práctica
36 Presencial-Remoto €0.00
Descripción
Este programa profundiza en los 23 patrones de diseño de GoF, conectándolos directamente con la arquitectura de software moderna. A través de una metodología práctica, aprenderá a implementar soluciones robustas mediante ejercicios individuales y combinados realizados en Java.
Además, la formación le capacitará para seleccionar el patrón adecuado según el contexto arquitectónico, optimizando la escalabilidad, el desacoplamiento y la mantenibilidad de tus proyectos de desarrollo.
Además, la formación le capacitará para seleccionar el patrón adecuado según el contexto arquitectónico, optimizando la escalabilidad, el desacoplamiento y la mantenibilidad de tus proyectos de desarrollo.
Objetivos
Dominar el catálogo de los 23 patrones de GoF: Identificar, comprender y programar cada uno de los patrones Creacionales, Estructurales y de Comportamiento.
Integrar patrones en arquitecturas reales: Comprender cómo los patrones de diseño se articulan dentro de las distintas técnicas arquitectónicas.
Desarrollar criterios de selección: Evaluar cuándo es necesario aplicar un patrón, como seleccionar entre varias posibilidades y como priorizar la simplicidad, el desacoplamiento y la escalabilidad en las soluciones
Integrar patrones en arquitecturas reales: Comprender cómo los patrones de diseño se articulan dentro de las distintas técnicas arquitectónicas.
Desarrollar criterios de selección: Evaluar cuándo es necesario aplicar un patrón, como seleccionar entre varias posibilidades y como priorizar la simplicidad, el desacoplamiento y la escalabilidad en las soluciones
Audiencia
• Desarrolladores de software (Mid a Senior) que busquen elevar la calidad de su código.
• Arquitectos de software que necesiten estandarizar soluciones técnicas.
• Líderes técnicos interesados en mejorar la mantenibilidad y escalabilidad de sus proyectos.
• Arquitectos de software que necesiten estandarizar soluciones técnicas.
• Líderes técnicos interesados en mejorar la mantenibilidad y escalabilidad de sus proyectos.
Prerrequisitos
• Dominio sólido de al menos un lenguaje orientado a objetos (principalmente Java, C#, etc.).
• Conocimiento básico de Principios SOLID.
• Familiaridad con diagramas UML de clases (lectura básica)
• Conocimiento básico de Principios SOLID.
• Familiaridad con diagramas UML de clases (lectura básica)
Temario
1. Fundamentos arquitectónicos
- Arquitectura vs. diseño
- Problemas en el diseño de software
- Tipos de patrones: arquitectónicos, diseño, calidad,...
- El rol de los patrones en la calidad del software
- Principios de diseño
• DRY, KISS, YAGNI...
• Separation of Concerns
- Principios SOLID
- Patrones de diseño
• ¿Qué es un patrón de diseño?
• Patrones Creacionales
• Patrones Estructurales
• Patrones Comportamiento
2. Control básico. Creación y primeros comportamientos
- Creacionales: Singleton, Factory Method.
- Comportamiento: Observer, Strategy.
- Estructurales: Adapter.
3. Organización, reutilización y extensión del sistema
- Estructurales: Facade, Decorator, Proxy.
- Comportamiento: Template Method, Iterator.
4. Patrones de interacción dinámica
- Comportamiento: State, Chain of Responsibility, Command, Mediator.
5. Construcción y diseño estructural avanzado
- Creacionales: Builder, Prototype, Abstract Factory.
- Estructurales: Composite, Bridge.
6. Optimización y patrones avanzados
- Estructurales: Flyweight.
- Comportamiento: Memento, Visitor, Interpreter.
7. Como seleccionar un patrón de diseño
- Diagnóstico inicial
- Clasificación por intención
- Ideas para aplicar un patrón
- Como elegir un patrón dentro de la misma familia
- Sinergias entre patrones. Combinaciones
- Problemas: Overengineering, "code smells", refactoring
- Arquitectura vs. diseño
- Problemas en el diseño de software
- Tipos de patrones: arquitectónicos, diseño, calidad,...
- El rol de los patrones en la calidad del software
- Principios de diseño
• DRY, KISS, YAGNI...
• Separation of Concerns
- Principios SOLID
- Patrones de diseño
• ¿Qué es un patrón de diseño?
• Patrones Creacionales
• Patrones Estructurales
• Patrones Comportamiento
2. Control básico. Creación y primeros comportamientos
- Creacionales: Singleton, Factory Method.
- Comportamiento: Observer, Strategy.
- Estructurales: Adapter.
3. Organización, reutilización y extensión del sistema
- Estructurales: Facade, Decorator, Proxy.
- Comportamiento: Template Method, Iterator.
4. Patrones de interacción dinámica
- Comportamiento: State, Chain of Responsibility, Command, Mediator.
5. Construcción y diseño estructural avanzado
- Creacionales: Builder, Prototype, Abstract Factory.
- Estructurales: Composite, Bridge.
6. Optimización y patrones avanzados
- Estructurales: Flyweight.
- Comportamiento: Memento, Visitor, Interpreter.
7. Como seleccionar un patrón de diseño
- Diagnóstico inicial
- Clasificación por intención
- Ideas para aplicar un patrón
- Como elegir un patrón dentro de la misma familia
- Sinergias entre patrones. Combinaciones
- Problemas: Overengineering, "code smells", refactoring