Este repositorio contiene los trabajos prácticos realizados en la materia Programación con Objetos II de la Universidad Nacional de Quilmes (UNQ).
La materia tiene como objetivo que los estudiantes adquieran ideas y técnicas avanzadas en programación orientada a objetos. Los principales contenidos y habilidades desarrolladas incluyen:
-
Diseño de Software Orientado a Objetos:
- Comprensión de cómo un proyecto de software puede crecer y las problemáticas asociadas a este crecimiento.
- Aplicación de los conceptos de acoplamiento y cohesión para mejorar la calidad del diseño.
-
Patrones de Diseño:
- Implementación de patrones como Adapter, Strategy, State, Observer, Composite y Template para lograr diseños flexibles y escalables.
- Evaluación de las consecuencias del uso de patrones en las características del diseño y la calidad del producto.
-
Responsabilidades y Polimorfismo:
- Definición clara de responsabilidades para cada elemento del diseño.
- Uso del polimorfismo para intercambiar elementos y mejorar la flexibilidad del diseño.
-
Notación UML:
- Creación y utilización de diagramas de clases, objetos y secuencia para documentar y planificar el diseño del software.
-
Metaprogramación y Reflexividad:
- Exploración de características reflexivas de los lenguajes de programación para crear soluciones más dinámicas y adaptables.
-
Entornos Integrados de Desarrollo (IDE):
- Uso de Eclipse para desarrollar y gestionar proyectos de software, aprovechando sus funcionalidades y facilidades.
-
Testeo Unitario y Automático:
- Desarrollo y ejecución de tests unitarios utilizando herramientas de testing y técnicas de coverage.
- Uso de doubles para simular componentes y asegurar la calidad del código.
-
Manejo de Errores:
- Implementación de estrategias de manejo de errores y su impacto en el diseño del software.
Este repositorio refleja la aplicación práctica de estos conceptos y técnicas a través de los trabajos realizados durante el curso. Todo el código está escrito en Java y desarrollado utilizando el entorno de desarrollo Eclipse.