Resumen

Los patrones de diseño brindan soluciones garantizadas a una serie de problemas comunes, facilitan la reutilización y la capacidad de expansión del software por lo que su buen uso es altamente recomendable. Sin embargo, estas ventajas son solo posibles si el software fue diseñado cuidadosamente. En este artículo se ejemplifican las bondades expuestas anteriormente, al aplicar patrones de diseño en un proyecto de software de un curso de Pregrado en la Universidad de Costa Rica, y se explican los beneficios inmediatos y potenciales de cada patrón utilizado. El proyecto de software al que se le aplicarán los patrones, es un simulador de un procesador multinúcleo, el cual inicialmente posee restricciones que lo hacen muy simple, sin embargo, se expone cómo con el uso de patrones se puede extender para simular una mayor diversidad de arquitecturas.

Palabras clave: Ingeniería de Software, Patrones de Diseño, Polimorfismo, Indirección, Fábrica, Singleton, Observador