Katas avanzadas

Si en vez de leer prefieres escuchar, dale al play.

Katas avanzadas
2:24

¡Felicidades! Ya estás en el último nivel. Has completado las fases de aprendizaje y ahora te enfrentas a las katas más complejas.Cada una de estas katas presenta un desafío mayor, así que ¡vamos a por ello!

Recuerda, en cada enlace de las katas encontrarás una introducción que te pondrá en contexto y los detalles necesarios para ejecutarla correctamente. La mejor manera de aprender y mejorar es practicando.

¿Empezamos?

Lista de katas avanzadas

ORM

Esta kata te ayudará a aprender a trabajar con un ORM.

  • Iteración 1: Aprende a hacer el setup y la kata.
  • Iteración 2: Aplica el patrón repositorio, Value Objects, y Entidades.
  • Iteración 3: Aplica el patrón Specification.
  • Iteración 4: Piensa cómo implementarías lo mismo que hace el ORM y llévalo a cabo.

Task List Kata

Esta kata se centra en trabajar con modelos de dominio y aplicar principios de diseño de software como SOLID.

Coffee Machine Project

Trabaja esta kata de forma incremental e iterativa, evolucionando la arquitectura hacia una arquitectura hexagonal limpia.

  • Iteración 1: Evoluciona a una arquitectura hexagonal. Opcionalmente, utiliza C4 para diseñar tu sistema.
  • Iteración 2: Limpia la arquitectura. Opcionalmente, usa Domain Storytelling para comprender cómo funciona tu dominio.

Corporate Hotel Booking

Practica el enfoque outside-in, centrándote en socios y servicios.

Conway's Game of Life

Implementación impulsada por eventos.

  • Iteración 1: Implementa una arquitectura impulsada por eventos. Utiliza Event Storming para diseñar los eventos y comprender cómo funcionaría el sistema.

CQRS Booking

Implementa CQRS (Command Query Responsibility Segregation).

Smart Fridge

Implementación impulsada por eventos.

Refactoring Kata Lift Pass Pricing

Evoluciona la arquitectura hacia una arquitectura hexagonal.

Aprendizajes:

  • Cómo realizar tests E2E.
  • Estrategias de testing efectivas.
  • Refactorización hacia distintas arquitecturas.
  • Implementación de TDD con un ORM.
  • Arquitectura hexagonal y limpia.
  • Programación orientada a eventos (Event-driven).
  • Implementación de CQRS.
  • Conceptos tácticos de DDD.
  • Uso del modelo C4.
  • Narración de historias de dominio (Domain Storytelling).Event Storming.

Te preguntas ¿cómo aplicar el Desarrollo Guiado por Pruebas (TDD) en tus proyectos de desarrollo? No pases por alto nuestra guía detallada que te ayudará a comenzar con esta metodología esencial para cualquier desarrollador.

New call-to-action