Unidad 4. Proyecto final¶
Introducción¶
En esta unidad vas a aplicar todo lo aprendido a un proyecto propio. La idea es que tomes uno de tus proyectos de Taller o proyectos personales y los analices usando todo lo que vimos en el curso.
Propósito de aprendizaje¶
Aplicar y analizar todo lo aprendido en el curso a un proyecto propio.
Ejercicios y proyectos¶
Ejercicio 1¶
Esta unidad no tendrá tantos ejercicios como las anteriores porque la idea es que te concentres rápidamente en tu propio proyecto; sin embargo, te voy a dejar este video para que sepas por dónde arrancar a analizar tu proyecto.
Proyecto¶
Qué debes hacer en este proyecto de la Unidad.
Busca uno de tus proyectos de taller o proyectos personales.
Analiza qué estructuras de datos estás utilizando y explica si puedes utilizar una alternativa mejor. DEBES justificar todo.
Analiza si en tu proyecto estás aplicando los principios SOLID. Si no es así, explica por qué no y qué tendrías que hacer para implementarlos. NO OLVIDES explicar cláramente que ganarías al implementarlos en tu proyecto.
Realiza la implementación del refactoring que explicaste en el punto anterior.
Analiza la posibilidad de aplicar un patrón de diseño en tu proyecto. Explica por qué sería o no conveniente hacerlo.
Implementa el patrón de diseño y cómparalo con lo que tenías.
Modifica tu proyecto para que soporte la posibilidad de persistir información. Explica cuáles podrían ser las alternativas de implementación y por qué seleccionaste alguna.
Analiza la arquitectura de tu proyecto. Cambia parte de la arquitectura para soportar una guiada por EVENTOS y DATOS.
Realiza un perfilamiento de tu proyecto de la manera más completa que puedas. Reconoce oportunidades de optimización.
Implementa las optimizaciones y compara los resultados de la optimización con el perfilamiento anterior.
Advertencia
NO OLVIDES
Revisa de nuevo la introducción del curso en la sección
Detalle de las evidenciaspara que no olvides ninguna de las consideraciones de entrega.TODO el código que escribas DEBE estar bajo control de versión.