Repositorio oficial del curso Patrones de Diseño, impartido en la carrera de Ingeniería en Sistemas Computacionales. Aquí encontrarás todos los recursos necesarios para aprender a identificar, implementar y aplicar patrones de diseño en el desarrollo de software robusto, escalable y mantenible.
- Comprender la utilidad de los patrones de diseño como soluciones probadas a problemas comunes en la programación.
- Aplicar correctamente patrones creacionales, estructurales y de comportamiento según el contexto del proyecto.
- Desarrollar software utilizando buenas prácticas de diseño orientado a objetos y principios de arquitectura.
El curso se divide en tres módulos principales, organizados por categorías de patrones de diseño:
-
Patrones Creacionales
- Factory Method
- Abstract Factory
- Singleton
- Builder
- Prototype
- Object Pool
-
Patrones Estructurales
- Adapter
- Bridge
- Composite
- Facade
- Decorator
- Proxy
- Flyweight
-
Patrones de Comportamiento
- Iterator
- Command
- Observer
- Template Method
- Strategy
- Chain of Responsibility
- Interpreter
- Mediator
- Memento
- Null Object
- State
- Visitor
📁 docs/ → Material extendido, apuntes y lecturas recomendadas
📁 ejemplos/ → Implementaciones en diferentes lenguajes (Java, C#, PHP, Kotlin)
📁 diagramas/ → Diagramas UML de clases y secuencia por patrón
📁 practicas/ → Actividades individuales y por equipo
📁 proyecto_final/ → Proyecto integrador de la asignatura
📄 README.md → Presentación general del curso
📄 CONTRIBUTING.md → Guía para contribuir al repositorio
📄 LICENSE → Licencia de uso abierto
📄 AI_GUIDANCE.md → Uso academico de la ChatGPT y variantes LLM
Conocimientos básicos de programación orientada a objetos
Familiaridad con UML (diagrama de clases y de secuencia)
Capacidad de análisis, abstracción y resolución de problemas
Aprendizaje activo: diagramas, codificación y proyectos prácticos.
Evaluación continua: rúbricas para esquemas y listas de cotejo de código.
Proyecto integrador: aplicación progresiva de patrones en un sistema realista.
Lenguajes: Java, C#, PHP, Kotlin, Python
UML: Dia, Umbrello, Microsoft Visio, Enterprise Architect
Blancarte, O. J. (2016). Introducción a los patrones de diseño. Un enfoque práctico.
Freeman, E., & Sierra, K. (2004). Head First Design Patterns. O'Reilly.
Richards, M. (2015). Software Architecture Patterns. O'Reilly.
Soshin, A. (2018). Design Patterns with Kotlin. Packt.
- Uso reponsable de ChatGPT y otros LLM Si deseas colaborar, lee la Guía de uso ChatGPT y otros LLM
🤝 Contribuciones
Este es un proyecto educativo abierto. Si deseas mejorar el contenido, corregir ejemplos o traducir material, consulta la guía CONTRIBUTING.md