Saltar al contenido principal

Ejercicios propuesto por tema

Capas y dependencias en Clean Architecture

Reto 1: Inversión de dependencias en acción

Nivel: Avanzado

Tiempo estimado de resolución: 45 minutos

Participantes: Grupo de 3

Enunciado: Implementen una funcionalidad simple (ej. “registrar usuario”) usando Clean Architecture. Asegúrense de aplicar correctamente el principio de inversión de dependencias, usando interfaces y adaptadores.

Resultado esperado:

  • Código organizado por capas
  • Interfaz definida en dominio o aplicación
  • Implementación real en infraestructura
  • Diagrama explicativo con flechas de dependencia

Pistas o ayudas:

  • La interfaz debe ser definida en el dominio o en el caso de uso, y su implementación concreta debe quedar fuera (infraestructura). Apliquen Dependency Inversion Principle - DIP.

Arquitectura modular monolítica

Reto 1: Diseña tu monolito modular

Nivel: Medio

Tiempo estimado de resolución: 40 minutos

Participantes: En parejas

Enunciado: Imagina que tu equipo debe construir una app de gestión académica universitaria. Diseñen una arquitectura modular monolítica, identificando:

  • Módulos funcionales (ej. students, courses, grades)
  • Contratos entre ellos (interfaces, DTOs, servicios)
  • Diagrama general con flechas de dependencia

Resultado esperado:

  • Diagrama visual (puede ser dibujado o digital)
  • Documento con descripción de cada módulo y sus límites

Pistas o ayudas:

  • Un buen módulo tiene alta cohesión interna y bajo acoplamiento externo. Pueden usar herramientas como Lucidchart, draw.io o papel y colores.

Diseño de casos de uso y entidades

Reto 1: Casos de uso que colaboran

Nivel: Medio

Tiempo estimado de resolución: 40 minutos

Participantes: Grupo de 3

Enunciado: A partir de la historia: "Un profesor puede registrar calificaciones de los estudiantes solo si están inscritos en el curso." Modelen:

  • Las entidades involucradas (Profesor, Estudiante, Curso, Nota)
  • Al menos 2 casos de uso que colaboren (ej. Validar inscripción, Registrar nota)

Resultado esperado:

  • Diagrama de entidades con relaciones
  • Diagrama o lista de casos de uso y su interacción

Pistas o ayudas:

  • Un caso de uso puede llamar a otro caso de uso o requerir validaciones externas. Identifica bien las reglas previas (precondiciones).