Hay varios buenos libros (algunos ya mencionados) sobre los patrones de diseño. De hecho, tengo alrededor de cuatro o así. Al aprender un patrón, me gusta leer sobre él en más de un libro. Por lo general, los escenarios y ejemplos serán un poco diferentes, lo que ayuda a mejorar la idea. Wikipedia.org es un recurso bastante bueno también.
Dicho esto, me gusta pasar algún tiempo leyendo el código relacionado con los patrones. El código que muestra las fortalezas de una plataforma es bueno por razones obvias. Consulte http://www.dofactory.com mientras está en ello. Si desea ver el GoF y otros patrones empresariales aplicados a algunos problemas de codificación reales, ese sitio es excelente. Debe pagar por la aplicación de referencia y las soluciones de patrones de diseño, pero hay ejemplos relacionados con el libro de Head First, el trabajo de GoF y lo que ellos llaman variaciones optimizadas que aprovechan .NET.
Algunos libros que he encontrado útil:
- Head First Design Patterns: gran libro para conseguir las ideas.
- C# 3.0 Design Patterns (Judith Bishop): No es mi favorito para los ejemplos de código, pero generalmente hay algunos puntos agradables comparando un patrón con otros patrones relacionados y por qué puede elegir uno sobre otro.
- Design Patterns (Christopher G. Lasater): Un libro bastante bueno que va directo al grano.
Sólo una nota al margen: No necesitará muchos patrones de diseño en un proyecto tan pequeño. IMO, los patrones de diseño son mucho más útiles en proyectos más grandes. Creo que es una buena idea practicar en un proyecto pequeño, pero no esperes la epifanía completa hasta que los uses en un proyecto grande que se ha mantenido durante mucho tiempo y que debe documentarse y explicarse a otros desarrolladores. – Niki
Originalmente quería pasar por [este libro] (http://www.amazon.com/Design-Patterns-Ruby-Russ-Olsen/dp/0321490452) (patrones de diseño en Ruby). Estoy realmente impresionado con ese libro (después de una primera lectura superficial), pero desafortunadamente no puedo hacer este proyecto en Ruby. Mantendré tu nota al margen en mente. – Soumendra