Curso de Diseño Orientado a Objetos

Curso de Diseño Orientado a Objetos

El Curso de Análisis y diseño de software es un curso dirigido a usuarios con conocimientos de Programación Orientada a Objetos  que desean aumentar su desempeño y la calidad de su trabajo como programadores.

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

 

Subscribe
Notify of
6 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Sandia328
Sandia328
2 years ago

Consulta, no se podria resubir el curso completo? solo esta hasta la clase 6.

JorlingVictor
JorlingVictor
2 years ago

¡Saludos Cordiales!
Será psoible que nos haga el favor de subir el curso completo

ben20
ben20
2 years ago

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

Emily00
Emily00
2 years ago

gracias

carroni
carroni
2 years ago

Muchas gracias!!

franpaulinoinfan
franpaulinoinfan
2 years ago

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

6
0
Would love your thoughts, please comment.x
()
x