Formación : Patrones de diseño, aplicación

Patrones de diseño, aplicación




Este curso le formará en el diseño de aplicaciones y en prácticas de diseño modernas, como el desarrollo basado en pruebas y la refactorización. Numerosos casos prácticos le enseñarán a crear aplicaciones escalables y reutilizables, teniendo en cuenta los principales patrones de diseño.


ABIERTA
IN-COMPANY
A MEDIDA

Formación en tus instalaciones, en nuestro centro o a distancia

Ref. DES
  5d - 35h00
Duración, formato, fechas y lugar: ¡Tú decides, nosotros nos encargamos de organizarlo!

Descargar en formato pdf

Compartir este curso por correo electrónico




Este curso le formará en el diseño de aplicaciones y en prácticas de diseño modernas, como el desarrollo basado en pruebas y la refactorización. Numerosos casos prácticos le enseñarán a crear aplicaciones escalables y reutilizables, teniendo en cuenta los principales patrones de diseño.


Objetivos pedagógicos
Una vez finalizada la formación, el participante podrá:
Comprender los principios fundamentales del diseño orientado a objetos
Aplicar las reglas fundamentales para dividir una aplicación en paquetes
Aplicar los principios de construcción de clases en una aplicación
Puesta en práctica del desarrollo basado en pruebas
Implementación de los principales patrones de diseño

Público afectado
Diseñadores, desarrolladores, arquitectos o gestores de proyectos.

Requisitos previos
Conocimiento de un lenguaje orientado a objetos.

Modalidades prácticas
Trabajo práctico
Los cursillistas realizarán los talleres en el lenguaje que elijan (Python, Java, C++, C# o VB.Net).

Programa de la formación

1
Presentación del diseño

  • Un recordatorio de los fundamentos de la programación orientada a objetos y el lenguaje UML.
  • Ventajas de UML para el diseño.
  • Los retos del diseño.
  • Utilización de la herencia. Ventajas e inconvenientes.

2
Principios fundamentales del diseño orientado a objetos

  • Los principios de apertura/cierre (OCP) y sustitución de Liskov (LSP).
  • Concepto de polimorfismo, acoplamiento débil y cohesión fuerte.
  • El impacto del diseño de objetos en los proyectos.
Trabajo práctico
Reparto de responsabilidades entre clases.

3
Principios de construcción de clases

  • Gestión de dependencias con inversión de dependencias (DIP).
  • Reducción de la complejidad aparente mediante la separación de interfaces (ISP).
  • Reparto de responsabilidades con GRASP.

4
Principios de organización de paquetes

  • El paquete: una unidad de diseño de entrega/reutilización (REP) y reutilización común (CRP).
  • El desglose de paquetes. CCP.
  • Organización entre paquetes.
Trabajo práctico
Creación y priorización de paquetes.

5
Desarrollo basado en pruebas

  • Desarrollo dirigido por pruebas (TDD) frente a ingeniería dirigida por modelos (MDE).
  • Redacción de casos de prueba y conjuntos de pruebas.
Trabajo práctico
Asignación de responsabilidades a los componentes de software utilizando el enfoque TDD.

6
Principios de los patrones de diseño

  • Patrones de diseño para reutilizar la experiencia.
  • Alcance, ventajas y limitaciones de los patrones de diseño.
  • Respuesta a problemas recurrentes.
  • Los patrones fundacionales de Gamma y GoF: patrones de creación, comportamiento y estructura.
  • Refactorización. ¿Por qué refactorizar?
  • Modificación de la presentación del código y de los algoritmos de clase. Rediseño.
Trabajo práctico
Ejemplo de diseño, refactorización y programación con patrones GoF.

7
Arquitectura de software y patrones arquitectónicos

  • De los requisitos a la arquitectura.
  • Estilos arquitectónicos.
  • Patrones de distribución (estilo cliente-servidor, patrón de bus de datos, pizarra, repositorio).
  • Patrones de diseño de sistemas (MVC, arquitectura en capas, estilo Plug-in, Pipeline).

8
Proceso de desarrollo

  • Diseñar en un proceso iterativo e incremental.
  • El manifiesto ágil. XP, Scrum.


Fechas y lugares
Selecciona tu ubicación u opta por la clase remota y luego elige tu fecha.
Clase a distancia