Curso de Diseño Orientado a Objetos
Curso de Diseño Orientado a Objetos
QUÉ APRENDERÉ EN EL CURSO DE DISEÑO ORIENTADO A OBJETOS
- Los objetivos del diseño de software, diseño modular y diseño orientado a objetos
- Diseñar relaciones entre clases para encontrar las mejores soluciones
- Entender y aplicar los principios del código de calidad
- Reconocer smell codes y antipatrones
- Saber aplicar correctamente patrones para permitir un diseño modular
- Entender el Principio Open / Closed
- Maximizar la reusabilidad del código
- Conocer y aplicar técnicas y principios para mejorar la flexibilidad del software
OBJETIVOS DEL CURSO
El Curso de Diseño Orientado a Objetos tiene como objetivo abordar la calidad del software, y una de las disciplinas más importantes de la ingeniería del software como es el diseño. Establece los fundamentos mediante la relación de los conceptos clave en tres etapas diferenciadas: Diseño, Diseño Modular y Diseño Orientado a Objetos.
Durante el curso veremos diversos tipos de antipatrones y «smell codes» que nos ayudarán a detectar problemas en el desarrollo del software y encontrar mejores soluciones, aplicando principios de calidad que permitan un crecimiento controlado de los proyectos, maximizando características deseables como legibilidad, escalabilidad, mantenibilidad… alta cohesión, bajo acoplamiento y granularidad… evitando la rigidez y viscosidad que imposibilitan la evolución del software, la ineficaz fragilidad, y la ineficiente ausencia de reusabilidad.
Toda la teoría se aterrizará en la práctica con un enfoque iterativo incremental, realizando hasta 8 soluciones de diseño de complejidad creciente, en las que se van incorporando más necesidades que surgen con la evolución del proyecto. Comenzaremos con un diseño sencillo, de una quincena de clases, acabando en una solución extensible, con el triple de clases pero cumpliendo el Principio Abierto/Cerrado.
INDICE DE CONTENIDOS
Diseño del software
- Modelo del Dominio
- Estrategias de Clasificación
- Antipatrón “Descomposición Funcional”
- Relaciones entre Clases
- Legibilidad
- KISS
- Formato
- Comentarios
- Nombrado
- Estándares
- Consistencia
- Alertas
- Código Muerto
- YAGNI
- DRY
Diseño Modular
- Modularidad
- Número de módulos
- Distribución de responsabilidades
- Jerarquización
- Interfaz
- Código Sucio por Clases Alternativas con Interfaces Diferentes
- Principios del Menor Compromiso y la Menor Sorpresa
- Interfaz Suficiente, Completa y Primitiva
- Diseño por Contrato
- Implemetación
- Cohesión
- Acoplamiento
- Tamaño
- Patrón de Indirección
- Patrón de Invención Pura
- Patrón Vista Separada
- Patrón Controlador
- Patrón Creador
Diseño Orientado a Objetos
- Teoría de Lenguajes
- Datos polimórficos
- Operaciones polimórficas
- Principio Open / Closed
- Reusabilidad
- Herencia vs Parametrización
- Herencia vs Composición
- Patrón Método Plantilla
- Flexibilidad
- Clases Abstractas e Interfaces
- Principio Separación de Interfaces
- Principio de Inversión de Dependencias
- Inversión de Control
- Inyección de Dependencias
- Principio de Sustitución de Liskov
- Herencia vs Delegación
- Técnica de Doble Despacho
- Jerarquización
Los ejercicios se intercalarán tras la exposición de cada tema y en ellos podremos ver distintas versiones del proyecto, con diseños que emergen a medida que los requisitos evolucionan.
POR QUÉ DEBES APRENDER DISEÑO DE SOFTWARE
Este curso es fundamental para cualquier desarrollador que pretenda desempeñarse correctamente en una disciplina tan compleja como la del diseño de software. Dado que todo software debe poder cambiar, para adaptarse a necesidades siempre crecientes, resulta extremadamente importante mantener una elevada calidad del código comenzando con un correcto diseño.
En este curso el estudiante podrá reconocer cuáles son las malas prácticas en el desarrollo y cómo aplicar las técnicas y patrones para conseguir buenos diseños que permitan maximizar su flexibilidad, extensibilidad y con ello la mantenibilidad.
QUÉ TENGO QUE SABER
El estudiante de este curso debe tener conocimientos de programación y de programación orientada a objetos. Debería tener experiencia previa en el desarrollo de software y de preferencia haber realizado previamente el Curso de Recurrencia del Desarrollo de Software y el Curso de Programación Orientada a Objetos.
577
PESO:2.2GB
Consulta, no se podria resubir el curso completo? solo esta hasta la clase 6.
¡Saludos Cordiales!
Será psoible que nos haga el favor de subir el curso completo
Estimado, primero que nada agradecer por el gran apollo y ayuda que nos brindas con los cursos … pero quisiera saber si subiras este curso nuevamente porfa, si es asi muchas gracias y bendiciones por el gran esfuerzo
gracias
Muchas gracias!!
Gracias por el curso, me pregunto si algún momento se subiran los caps. que faltan…. por cierto tengo la nueva version de Patrones de diseño de escuela.it .. es el que sigue despues de este….. tratare de subirlo a MEGA para compartir el enlace aqui o si el administrador puede decirme como hacerle llegar para que el lo comparta