¿Qué es un patrón y qué no lo es?
- Publicado en Chris Richardson (microservices.io)
- Seleccionado el
Los ingenieros de software recurren a diversos tipos de conocimiento reutilizable, como principios, prácticas, técnicas, patrones, diseños, métodos, reglas, arquitecturas de referencia y enfoques de implementación. Muchos, incluyéndome a mí, escriben sobre patrones. Sin embargo, he notado que, al igual que muchos conceptos en ingeniería de software, el concepto de patrón ha sufrido una difusión semántica . Existe una tendencia a etiquetar muchos tipos diferentes de conocimiento reutilizable como "patrones", incluso cuando no cumplen con la definición, y a llamar lenguaje de patrones a cualquier conjunto de ellos.
Esto me molesta por varias razones. Soy fanático de los patrones y los lenguajes de patrones desde que el libro "Design Patterns" del Grupo de los Cuatro los popularizó en la comunidad de software a mediados de los 90, por los motivos que describo a continuación. Me gusta el Diseño Orientado a Dominios (DDD), que se basa en una terminología precisa. Y como autor, procuro usar las palabras con cuidado…