Requiere una explicación detallada, pero intentaré esbozar las diferencias a mi leal saber y entender.
Los patrones son elementos comunes destilados que se encuentran en los programas. Nos permite deconstruir una gran estructura compleja y construir usando partes simples. Proporciona una solución general para una clase de problemas.
Un gran software complejo pasa por una serie de deconstrucción en diferentes niveles. A gran nivel, los patrones arquitectónicos son las herramientas. En un nivel más pequeño, los patrones de diseño son las herramientas y, a nivel de implementación, los paradigmas de programación son las herramientas.
Un patrón puede ocurrir en niveles muy diferentes. Ver Fractals. Clasificación rápida, clasificación de combinación son todos patrones algorítmicos para organizar un grupo de elementos en un orden.
Para tener una visión más simplista:
Programming paradigms Specific to programming language
......................
Design patterns Solves reoccurring problems in software construction
......................
Architectural patterns Fundamental structural organization for software systems
......................
modismos son técnicas paradigma específicos y específicos del lenguaje de programación que completar los detalles de bajo nivel.
Los patrones de diseño generalmente están asociados con las características comunes del nivel de código. Proporciona varios esquemas para refinar y construir subsistemas más pequeños. Por lo general, está influenciado por el lenguaje de programación. Algunos patrones se vuelven insignificantes debido a language paradigms. Los patrones de diseño son tácticas de escala media que desarrollan parte de la estructura y el comportamiento de las entidades y sus relaciones.
Mientras que patrones arquitectónicos se consideran como elementos comunes en un nivel más alto que los patrones de diseño. Los patrones arquitectónicos son estrategias de alto nivel que se refieren a componentes a gran escala, las propiedades y mecanismos globales de un sistema.
¿Cómo se obtienen los patrones? A través de :
- reutilización,
- clasificación
- y, finalmente, la abstracción para destilar el carácter común.
Si ha seguido los pensamientos establecidos anteriormente. Verá que Singleton es un "patrón de diseño", mientras que MVC es uno de los patrones "arquitectónicos" para lidiar con la separación de preocupaciones.
tratar de leer en:
- http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)
- http://en.wikipedia.org/wiki/Design_pattern
- http://en.wikipedia.org/wiki/Anti-pattern
Ya discutido: https://stackoverflow.com/a/46419722/3649347 – GeekOnJava