¿Por qué son importantes los patrones? - Libros de Referencia

A estas alturas… todavía me encuentro con aplicaciones donde es imposible comprender el diseño e interpretar las intenciones del desarrollador.

Básicamente, pienso que hablan por sí solos, es decir, revelan la intención del diseño, son un lenguaje común; cuando en un equipo de desarrollo se habla en términos de patrones de código, se está hablando de las características, cualidades y restricciones que el patrón representa. Hablamos simplificando los problemas y partes del diseño de nuestras aplicaciones.

Prácticamente no hay API ó Framework (la de SharePoint es una excepción) donde no se haga uso de patrones, esto hace que el uso y comprensión así como las extensiones que realicemos sea mucho más sencillo.

“Cada patrón describe un problema que ocurre una y otra vez en nuestro ambiente y describe el corazón de la solución del problema, de esta manera podemos usar esta solución una y otra vez sin hacerlo de la misma manera dos veces” Christopher Alexander [AIS+77, page x]

Los patrones nos dicen como estructurar clases y objetos para resolver problemas, y es nuestro trabajo adaptarlos a nuestros diseños.

Y esto es lo más grande, porque esa adaptación a un problema particular no oculta las intenciones del programador, viendo que patrón se ha adaptado nos permite vislumbrar en que ha pensado a la hora de tomar decisiones.

En fin, para todos aquellos que comienzan, y para algunos que todavía… os dejo una lista de libros que son (no todos) de obligada lectura.

De arriba abajo:



* Patrones de diseño, edición en castellano de Design Patterns - Lectura obligatoria
* Design Patters (GOF Book) - Lectura obligatoria
* Analysis Patterns - Es un libro más profundo, sobre todo orientado al análisis y diseño de aplicaciones, con ejemplos (sin código) del diseño de aplicaciones de negocio y de aplicación de patrones en el diseño - Lectura Recomendada
* AAgile Principles, Patterns and Practices in C# - Para mi uno de los mejores libros que he leído, no solo hace hincapié en los principios de diseño más básicos, sino que también añade una completa referencia de los patrones más usados. - Lectura Muy Recomendada.
* Patterns of Enterprise Application Architecture - Fantástico, aquí se incluyen muchos de los patrones más usados que no se encuentran en el GOF Book, desde Active Record, Lazy Load, Unit Of Work ... aproximadamente 50 patrones menos conocidos, pero ampliamente usados. - Lectura Obligatoria.
* Refactoring to Patterns,, un pedazo de libro, que es como el eslabón que une refactorizaciones y patrones, perfectamente explicado, realmente impresionante como une el libro de Design Patterns, con el de Refactoring  (Fowler) - Lectura Muy Recomendada.
* Implementation Patterns - Un libro que realmente habla más del estilo de código que de patrones, un poco flojo, recomiendo leer Clean Code de Robert C. Martin. - Lectura Medio Recomendada.
* C# 3.0 Design Patterns - Un libro con ejemplos de patrones (GOF) en C# 3.0 sin más. - Lectura Medio Recomendada.
* C# Design Patterns, los GOF con ejemplos en C#, Libro recomendado para los que comienzan con C#.
* xUnit Test Patterns - Si haces pruebas ó TDD es imprescindible. Lectura Muy Recomendada.
* Design Patterns in Ruby - Si eres un salsas, como yo, no esta de más ver como se implementan los GOF en Ruby, muy entretenido. Lectura Pasatiempo.

Por último tengo un librito que aunque parece que esta en chino, no es así, esta en ingles, pero es una edición Design Patterns para China, a mi me gusta para llevarlo en la maleta cuando doy charlas o cursos.


Published 22/5/2009 15:49 por Carlos Segura
Archivado en:
Comparte este post:

Comentarios

# re: ¿Por qué son importantes los patrones? - Libros de Referencia

Friday, May 22, 2009 4:49 PM por Juan Irigoyen

No se si la conoces, existe una página llamada www.dofactory.com/.../Patterns.aspx que explica los patrones mas básicos con diagramas UML y ejemplos en C# de forma gratuita, disponen ademas de varios libros y  soluciones que implementan estos patrones (ya de pago) con la mayor parte de los patrones existentes expecialmente orientados a tecnologias WCF, Ajax, etc.

No tiene desperdicio.

Saludos.

# re: ¿Por qué son importantes los patrones? - Libros de Referencia

Friday, May 22, 2009 5:46 PM por Carlos Segura

@Juan

Si, conozco esa página desde hace tiempo, de hecho fue con la que me inicie hace años en el mundo de los patrones, tengo el código de una de las primeras versiones que me sirvio para estudiar.

Saludos.

# re: ¿Por qué son importantes los patrones? - Libros de Referencia

Saturday, May 23, 2009 5:53 AM por awik

yo recomendaria mas el de ruby, aprendi mucho de el, es facil de leer, entretenido, explica los patrones, es facil de seguir, tiene una buena, facil y practica sintaxis, no es necesario compilar, gran enfasis en el concepto mas que en la implementacion, en fin... muy recomendado.

cosas como el singleton se implementan de esta forma en ruby:

class Manager

 include Singleton

 def do_it

 end

end

Manager.instance.do_it

el patron Observador:

class Manager

 include Observable

end

es muy interesante