Los patrones de diseño se diferencian por su complejidad, nivel de detalle y escala de aplicabilidad a todo el sistema que se está diseñando. Me gusta la analogía con la construcción de carreteras: puede hacer que una intersección sea más segura instalando algunos semáforos o construyendo un intercambio completo de varios niveles con pasajes subterráneos para peatones.
Los patrones más básicos y de bajo nivel a menudo se denominan modismos. Por lo general, se aplican solo 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 en prácticamente cualquier idioma. A diferencia de otros patrones, se pueden utilizar para diseñar la arquitectura de una aplicación completa.