Clasificación de los patrones.
Los patrones de diseño se diferencian por su complejidad, su nivel de detalle y su escala de aplicabilidad a la totalidad del sistema que se está diseñando. Una analogía útil es la construcción de carreteras: puedes hacer que un cruce sea más seguro instalando algunos semáforos o construyendo un intercambiador de varios niveles con pasos subterráneos para peatones.
Los patrones más básicos y de bajo nivel suelen denominarse modismos (idioms). Por lo general, solo se aplican a un único lenguaje de programación.
Los patrones más universales y de alto nivel son los patrones arquitectónicos. Los desarrolladores pueden implementar estos patrones prácticamente en cualquier lenguaje. A diferencia de otros patrones, pueden utilizarse para diseñar la arquitectura de toda una aplicación.
Además, todos los patrones pueden clasificarse según su intención o propósito. Este catálogo abarca tres grupos principales de patrones:
-
Los patrones creacionales proporcionan mecanismos de creación de objetos que aumentan la flexibilidad y la reutilización del código existente.
-
Los patrones estructurales explican cómo ensamblar objetos y clases en estructuras más grandes, manteniendo a la vez la flexibilidad y la eficiencia de dichas estructuras.
-
Los patrones de comportamiento se encargan de la comunicación eficaz y de la asignación de responsabilidades entre objetos.