Explicación del concepto
Esta lección introduce la arquitectura a un nivel apto para principiantes: organizando el código para que cada parte tenga una tarea clara. Aún no estás construyendo un sistema grande, pero practicarás la separación de datos, comportamiento y flujo del programa en lugar de colocar todo en un solo archivo o método. Ese hábito es importante desde el principio porque una estructura limpia facilita las pruebas, reduce la confusión y te ofrece un camino más fluido desde ejercicios simples hasta aplicaciones reales.
Dónde poner el código
- Define las variables de color y posición al principio.
- Crea la lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (impresión, `canvas`, `SVG` o bloque con estilo) al final.
Referencia de comandos
- Identifica qué clase almacena datos y qué clase maneja el formato o el comportamiento.
- Ejecuta el ejemplo, luego cambia un valor de entrada para confirmar que cada parte sigue funcionando como se espera.
- Refactoriza una responsabilidad fuera de `main` para que el punto de entrada se mantenga pequeño y legible.
- Escribe una frase explicando por qué esta estructura es más fácil de extender que poner todo en un solo método.
Guía paso a paso
- Lee el ejemplo y marca el rol de cada clase antes de cambiar nada.
- Ejecuta el código base para confirmar la salida actual.
- Haz una mejora arquitectónica, como mover el formato o la validación a una clase separada.
- Compara la nueva versión con la original y decide cuál es más fácil de entender.
- Finaliza con una nota breve sobre cómo la estructura afecta la legibilidad y los cambios futuros.
Ejercicios prácticos
- Añade una segunda clase que valide los datos del usuario antes de mostrarlos.
- Cambia el ejemplo de un registro de usuario a un registro de producto o pedido, manteniendo la misma estructura.
- Escribe un breve resumen de salida que muestre el objeto de datos y la clase responsable de la presentación.
Retos de código
- Crea dos diseños pequeños para el mismo problema y compara cuál mantiene las responsabilidades más limpias.
- Diseña una pequeña estructura de paquete para un proyecto de principiante que incluya clases de datos, servicio y punto de entrada.
Mini tareas de práctica
- Renombra una clase o método para hacer su responsabilidad más obvia.
- Añade una prueba manual rápida usando un segundo objeto `User`.
- Escribe un resumen de una línea sobre qué elección arquitectónica mejoró este ejemplo.
Error común
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini reto de la vida real
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.