Te recomendamos que revises esta solución en un entorno controlado antes de enviarlo a producción, un saludo.
Solución:
Un patrón arquitectónico es una forma de resolver un problema arquitectónico recurrente. MVC, por ejemplo, resuelve el problema de separar la interfaz de usuario del modelo. Sensor-Controlador-Actuador, es un patrón que te ayudará con el problema de actuar frente a varios sentidos de entrada.
Un Estilo Arquitectónico, por otro lado, es solo un nombre que se le da a un diseño arquitectónico recurrente. Contrariamente a un patrón, no existe para “resolver” un problema.
Pipe&filter no resuelve ningún problema específico, es solo una forma de organizar su código. Cliente/servidor, Programa principal y subrutina y Tipos de datos abstractos / OO, lo mismo.
Además, una sola arquitectura puede contener varios estilos arquitectónicos, y cada estilo arquitectónico puede hacer uso de varios patrones arquitectónicos.
Francamente, ¡siempre he considerado que ambos términos son sinónimos! Y la literatura profana (relativamente hablando) definitivamente los trata como tales. Consulte MSDN o Wikipedia
Sin embargo, su pregunta me intrigó un poco, así que investigué un poco más y, francamente, no pude encontrar mucho excepto una referencia a Una guía práctica para la arquitectura empresarial (la serie Coad), de la que cito:
Un estilo arquitectónico (Base et al. 1997) y un patrón arquitectónico (Buschmann et al. 1996) son esencialmente sinónimos.
Basado en más búsquedas en Google, esto es lo que creo que podría ser una forma posible de diferenciar los dos:
- Un estilo arquitectónico es una forma conceptual de cómo se creará/funcionará el sistema.
- Un patrón arquitectónico describe una solución para implementar un estilo a nivel de subsistemas o módulos y sus relaciones.
como un patrón arquitectónico diferirá de un Patrón de diseño es decir, adaptador, observador es básicamente por el nivel de granularidad en el que se aplican (sé que esto no es parte de la pregunta, pero está relacionado, creo …)
Estilo arquitectónico es abstracto, es decir, conceptual.
+---------------+--------------------------------------------------------+
| Category | Architecture styles |
+---------------+--------------------------------------------------------+
| Communication | SOA, ROA, Message Bus |
| Deployment | Client/Server |
| Domain | Domain Driven Design,Monolithic application |
| Structure | Component-Based, Object-Oriented, Layered, Plug-ins |
+---------------+--------------------------------------------------------+
Un patrón arquitectónico es concreta, es decir, la implementación de un Estilo Arquitectónico.
- Por ejemplo: 3 niveles, N niveles, MVC, REST
Un patrón de diseño es una solución general reutilizable para un problema común en el diseño de software a nivel arquitectónico.
- Por ejemplo: Fábrica, Singleton, Prototipo.
Analogía: Estilo de arquitectura de templos para diferentes religiones:
Si sostienes alguna desconfianza o capacidad de modernizar nuestro tutorial te evocamos realizar una disquisición y con placer lo interpretaremos.