¿De dónde vienen los patrones de diseño?


La necesidad es madre de la invención, ¡y los patrones de diseño no son la excepción!

Los patrones se originaron como un concepto arquitectónico por Christopher Alexander (1977/79). En 1987, Kent Beck y Ward Cunninghambegan experimentaron con la idea de aplicar patrones a la programación, específicamente los lenguajes de patrones, y presentaron sus resultados en la conferencia de OOPSLA de ese año. En los años siguientes, Beck, Cunningham y otros siguieron este trabajo.
Los patrones de diseño ganaron popularidad en informática después de que el libro ” Patrones de diseño: elementos de software orientado a objetos reutilizables” fuera publicado en 1994 por la llamada “Gang of Four” (Gamma et al.), Que con frecuencia se abrevia como “GoF”.
¡Siento que este libro inspiró a generaciones de diseñadores de software! Si alguna vez hubiera un calendario de diseñador, ¡la publicación de este libro debería considerarse como una época! ¡Cambió el mundo … para siempre!

Los patrones de diseño surgen naturalmente al resolver una clase de problemas de la misma manera varias veces. Si haces eso lo suficiente, surge un patrón de diseño. Los patrones de diseño se aplican a TODAS las áreas de programación, no solo a OOP, no solo a los 23 patrones de diseño del libro. Hay cientos de patrones de diseño, y no todos tienen nombre. CUALQUIER diseño que se use más de una vez puede convertirse en un patrón. Es una evolución natural en TODAS las actividades de ingeniería. Hay patrones de diseño para construir naves espaciales, hay patrones de diseño para construir rascacielos, hay patrones de diseño para hornear pasteles. Estos patrones son algo natural: nadie creó esta idea.

Ahora sí, algunas personas han escrito libros sobre patrones de diseño, y se publican listas de patrones de diseño en la web. Necesitas saber cuáles son, pero creo que también es importante saber de dónde provienen, y que NO vinieron del autor de algún libro. Surgieron naturalmente a medida que creamos aplicaciones a lo largo de los años.

Depende de lo que entiendas por “patrones de diseño”.

Patrones de diseño (en mayúscula, nombre propio) se refiere a los 23 patrones orientados a objetos establecidos en el libro Gang of Four.

Más genéricamente, un patrón de diseño es una “receta” para resolver una clase común de problemas en un lenguaje, sistema o estilo de programación en particular. EG: Patrones de diseño de MapReduce por Donald Miner o Patrones de diseño de SQL por Vadim Tropashko.

Originario de Christopher Alexander. http://www.amazon.com/Pattern-La…

Adaptado al desarrollo de software y publicado en el libro Gang of Four http://www.amazon.com/gp/aw/d/02

http://cs.smu.ca/~porter/csc/465

Popularizado por muchas generaciones de informáticos debido al libro de Gamma et al (Gang of Four).

http://www.amazon.com/gp/aw/d/0201633612/ref=mp_s_a_1_1?qid=1430089680&sr=8-1&keywords=design+patterns+gamma

Muchos departamentos de informática (incluido el nuestro) adaptaron este libro como texto académico requerido.

Como dijo Jerome Terry, de Kent Beck:
Kent Beck, autor

Pero, invitemos a Kent Beck a responder 🙂

Como está escrito aquí
designpattern-tutorials.com
El patrón de diseño es una solución para un problema común. Al igual que en matemáticas son necesarias en nuestra vida, se necesita un patrón de diseño.

Provienen de la necesidad de solucionar las limitaciones de la POO. Para todos los efectos, los patrones de diseño son fragmentos de código repetitivo.