ESEN · Ciclo 02-2026
Patrones de Diseño
de Software
Reconocer problemas. Aplicar patrones. Justificar decisiones.
Catedrático: César Ramírez
Sobre este sitio
Material complementario para el curso de Patrones de Diseño de Software de la ESEN. Las lecturas se publican aquí antes de cada sesión y quedan disponibles como referencia durante todo el ciclo.
Lecturas previas
- S1 M 5 mayo
Smells de diseño
Cuando el código huele mal: seis señales que aprenden a reconocer.
- S5 M 3 junio
Singletons are Pathological Liars
Lectura crítica de Misko Hevery sobre por qué Singleton es polémico.
- S5 V 6 junio
Observer
Avisar que algo cambió sin que el emisor conozca a sus reaccionadores. Cierra el Bloque B+C.
Talleres
- S3 M 20 mayo
Fragmentos S3M
Dos fragmentos PHP para refactorizar en parejas: Template Method y Strategy.
- Parcial 1 12 junio
Práctica Parcial 1
14 ejercicios de refactorización: smells, KISS/DRY/YAGNI, SOLID y patrones Bloque A.
- S5 V 19 junio
Práctica: Singleton + Observer
6 ejercicios de detección y refactor (dos son trampa), ejecutables en php.cesar.sh. Insumo para la Mini-entrega 3.
Guías de referencia
- PHP · Sintaxis consulta cuando lo necesites
Sintaxis de PHP moderno: refuerzo del lenguaje
Variables, strings, arrays, funciones, control de flujo, clases, enums y namespaces de PHP 8, con contraste puntual con Java, TypeScript y Python.
- POO · Refuerzo consulta cuando lo necesites
Guía de POO: refuerzo antes de SOLID y patrones
Los cuatro pilares y tres temas puente, con ejemplos en PHP, Java, TypeScript y Python.
- GIT · PRs consulta cuando lo necesites
PRs en GitHub: del commit al merge
Por qué existen los PRs, cómo abrirlos bien, dar y recibir review, y qué hacer cuando algo se rompe.
Patrones del catálogo
- A
Variación de comportamiento
Strategy · Template Method · State · Command
S3–S4
- B
Creación controlada
Factory Method · Singleton
S5
- C
Reactividad
Observer
S5
- D
Aislamiento de dependencias
Adapter · Facade
S7
- E
Composición flexible
Decorator · Composite · Chain of Responsibility
S8–S9