Una serie de videos educativos sobre patrones de diseño aplicados en Godot Engine. Este proyecto demuestra cómo implementar patrones clásicos de software para crear código limpio, mantenible y escalable.
Este repositorio documenta la implementación de 7 patrones de diseño fundamentales:
Patron que garantiza una única instancia de una clase y proporciona acceso global. Guía detallada: singleton/README.md
Patrón que establece una relación de uno a muchos entre objetos, permitiendo notificaciones automáticas.
Próximamente en la serie...
Patrón que proporciona una interfaz para crear objetos sin especificar sus clases exactas.
Próximamente en la serie...
Patrón que proporciona una interfaz para crear familias de objetos relacionados o dependientes.
Próximamente en la serie...
Patrón que permite agregar responsabilidades a objetos de forma dinámica, sin modificar su estructura.
Próximamente en la serie...
Patrón que compone objetos en estructuras de árbol para representar jerarquías parte-todo.
Próximamente en la serie...
Patrón que desacopla una abstracción de su implementación, permitiendo que varíen independientemente.
Próximamente en la serie...
design-patterns/
├── singleton/ # Patrón Singleton - Autoload
│ ├── scenes/
│ │ ├── main.tscn # Escena principal
│ │ └── boss_fight.tscn # Escena de pelea con jefe
│ └── scripts/
│ ├── main.gd # Lógica de interfaz principal
│ ├── boss_fight.gd # Lógica de pelea
│ ├── patterns/
│ │ ├── game_config.gd # Configuración global
│ │ └── boss_fight_director.gd # Patrón Director
│ └── services/
│ ├── audio_service.gd # Servicio de audio
│ └── save_service.gd # Servicio de guardado
├── project.godot # Configuración de Godot
└── README.md # Este archivo
- Godot Engine 4.5 o superior
- Editor de código (Editor Interno, VS Code, Sublime Text, etc.)
- Abre el proyecto en Godot Engine
- Carga la escena
res://singleton/scenes/main.tscn
Un patrón de diseño es una solución reutilizable a un problema común en el desarrollo de software. Proporciona:
- Soluciones probadas para problemas recurrentes
- Nomenclatura común para comunicar ideas
- Código mantenible y escalable
- Mejor arquitectura del software
✅ Acelera el desarrollo
✅ Mejora la comunicación en equipos
✅ Reduce la complejidad
✅ Facilita mantenimiento
✅ Código más reutilizable
| # | Patrón | Estado |
|---|---|---|
| 1️⃣ | Singleton - Autoload | ✅ Completado |
| 2️⃣ | Observer - Signals | ⏳ Próximamente |
| 3️⃣ | Factory | ⏳ Próximamente |
| 4️⃣ | Abstract Factory | ⏳ Próximamente |
| 5️⃣ | Decorator | ⏳ Próximamente |
| 6️⃣ | Composite | ⏳ Próximamente |
| 7️⃣ | Bridge | ⏳ Próximamente |
- Documentación oficial de Godot
- Design Patterns: Elements of Reusable Object-Oriented Software - Gang of Four
- Paterns Of Enterprise Application Architecture - Martin Fowler
Este proyecto es educativo. Si tienes mejoras o sugerencias:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-feature) - Commit tus cambios (
git commit -am 'Agrega nueva feature') - Push a la rama (
git push origin feature/nueva-feature) - Abre un Pull Request
Este proyecto está bajo licencia MIT. Siéntete libre de usarlo y modificarlo.
Para preguntas o sugerencias sobre la serie, contacta a través de los canales de YouTube o redes sociales.
¡Aprender patrones de diseño nunca fue tan divertido! 🎮
Hecho con ❤️ para la comunidad de Godot