Pregunta

Arquitectura de Software - Fundamentos, Teoría y Práctica , que se pueden encontrar definiciones para ambos. El problema es que no consigo lo que cada uno de ellos significa en la llanura Inglés:

patrón de arquitectura

un patrón arquitectónico es una colección con nombre de las decisiones de diseño de arquitectura que son aplicables a un problema de diseño recurrente parametrizado para tener en cuenta los diferentes contextos de desarrollo de software en la que que aparece de problemas.

Estilo Arquitectónico

Un estilo arquitectónico es una colección con nombre de las decisiones de diseño arquitectónico que (1) son aplicables en un contexto de desarrollo dado, (2) restringir las decisiones de diseño de arquitectura que son específicos de un sistema en particular dentro de ese contexto, y (3) provocar beneficioso cualidades en cada sistema resultante.

Lo que hace cada uno, así como lo son las diferencias entre ellos?

¿Fue útil?

Solución

un patrón arquitectónico es una forma de resolver un problema arquitectónico recurrente. MVC, por ejemplo, resuelve el problema de la separación de la interfaz de usuario del modelo. Sensor-controlador-actuador, es un patrón que le ayudará con el problema de accionar frente a varios sentidos de entrada.

Un estilo arquitectónico, por el contrario, es sólo un nombre dado a un diseño arquitectónico recurrente. Contrariamente a un patrón, que no existe "resolver" un problema.

Cañería y filtro no resuelve ningún problema específico, es sólo una forma de organizar el código. Tipos / servidor, cliente del programa principal y subrutinas y abstractos de datos / OO, el mismo.

Además, una única arquitectura puede contener varios estilos arquitectónicos, y cada estilo arquitectónico puede hacer uso de varios patrones arquitectónicos.

Otros consejos

Francamente, siempre he considerado estos dos términos como sinónimos! Y laico (relativamente hablando) la literatura definitivamente los trata como tal. Consulte MSDN o Wikipedia

Sin embargo, su pregunta me ha intrigado un poco, así que hice un poco más de excavación y francamente ... no pude encontrar mucho excepto por una referencia a Una Guía práctica de Arquitectura empresarial (La Serie Coad) , de la cual cito: -

An architectural style (Base et al. 1997) and an architectural pattern 
(Buschmann et al. 1996) are essentially synonymous. 

Basado en algunos más googlear , esto es lo que creo que podría ser una forma posible diferenciar los dos

  • Un estilo arquitectónico es una forma conceptual de cómo se creó el sistema / trabajará
  • Un patrón arquitectónico describe una solución para la implementación de un estilo en el nivel de subsistemas o módulos y sus relaciones.

Como un patrón arquitectónico será diferente 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 isnt parte de la pregunta, pero su relacionadas, creo)

En palabras muy simples:

  • un estilo arquitectónico

    Es un concepto, la teoría (y cómo se implementa le corresponde a usted). También puede aplicarse al exterior del mundo del software.

    En el ejemplo: REST ( Representational State Transfer ) es un estilo arquitectónico incorporado en ciertos principios que utilizan los actuales fundamentos “web”.

  • Un patrones arquitectónicos

    describe una solución en el sistema de software (o módulo) de nivel. En otras palabras, la forma en que interactúa entre sí, por ejemplo, vista con el modelo, y el modelo con el controlador.

  • Un patrones de diseño

    Es una solución a nivel central, se habla de clases, funciones y cómo fluye realmente la lógica.

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 aplicación de un estilo arquitectónico.

  • Por ejemplo: 3-tier, N-tier, MVC, REST

Un patrón de diseño es una solución reutilizable general a un problema que ocurre comúnmente en el diseño de software a nivel arquitectónico.

  • Por ejemplo: fábrica, Singleton, Prototype.

Analogía: estilo de arquitectura de templos de diferentes religiones:

introducir descripción de la imagen aquí

En mi opinión, patrones y estilos arquitectónicos son mecanismos complementarios para la encapsulación de experiencia en el diseño. Un estilo arquitectónico que ofrece una colección de elementos de diseño la construcción de bloque, reglas y restricciones para la composición de los bloques de construcción y herramientas para el análisis y diseños creados en el estilo de manipular. Estilos generalmente proporcionan orientación y análisis para la construcción de una amplia clase de arquitecturas en un dominio específico mientras que los modelos se centran en la solución de los problemas más pequeños, fi espec cas dentro de un estilo determinado (o tal vez varios estilos).

Para los patrones arquitectónicos piensan maneras específicas a su estilo de código como se describe por el GoF similares; Adaptador, Estrategia, constructor, Mediador, etc.

Para Estilo Arquitectónico piensa sistema en su conjunto; Es decir, utilizar MVC para la presentación, DDD para modelar la capa de negocio, WCF (si usted está en .NET) para la interoperabilidad, SOA para la integración, etc.

patrones de diseño arquitectónico son más dominio específico donde son estilos arquitectónicos son más genéricas y utilizable en una amplia gama de aplicaciones. Debido a esto los patrones arquitectónicos requiere más conocimiento del dominio.

Los patrones arquitectónicos - definen un conjunto general de los tipos de elementos y su interacciones. Ejemplos de patrones arquitectónicos incluyen tuberías y filtros, Modelo-Vista-Controlador, y reflexión.

estilo arquitectónico - el término fue acuñado por Garlan y Shaw, se trata de una patrón idiomático de organización del sistema. Por ejemplo, un sistema cliente-servidor es un estilo arquitectónico.

p.s: Muchos de los estilos arquitectónicos originales han sido reformulado como patrones.

Modelo de la configuración: contexto + problema -> solución

estilo de arquitectura: solución de parte del patrón de la arquitectura

estilo de la arquitectura Así es análoga a la parte de la solución del patrón de la arquitectura. A menudo se utiliza en los libros que se ocupan de la documentación de la arquitectura, donde la atención se centra en la solución y no cómo el contexto y el problema se produjo.

estilo de arquitectura describe un sistema de muchos componentes. Sólo hay una arquitectura de aplicaciones y hay que aplicar el estilo arquitectónico como microservicios, SOA y la arquitectura orientada a eventos de todo el mundo.

Modelos de la configuración describen algo dentro de un solo componente y no tratan de aplicar los mismos patrones arquitectónicos como CQRS o DDD en todas partes.

Los estilos arquitectónicos nos dicen, en trazos muy generales, cómo organizar nuestro código. Es el más alto nivel de granularidad y especifica capas, módulos de alto nivel de la aplicación y cómo esos módulos y capas interactúan entre sí, las relaciones entre ellos. Ejemplos de estilos arquitectónicos: basado en componentes, SOA

patrones arquitectónicos tienen una amplia repercusión en la base de código, más a menudo afectar toda la aplicación, ya sea horizontal (es decir. La forma de estructurar el código dentro de una capa) o verticalmente (es decir. Cómo se procesa una solicitud de las capas exteriores en el capas interior y parte posterior). Ejemplos de patrones arquitectónicos: Modelo-Vista-Controlador, Modelo-Vista-ViewModel

Estilos arquitectónicos

Los estilos arquitectónicos son nombres que representan las organizaciones más amplias de sus aplicaciones y subsistemas representan la idea del esquema general de la misma. Ejemplos de ello son, SOA, Client/Server, Message Bus etc.

patrones arquitectónicos

Los patrones arquitectónicos son los nombres de las soluciones reutilizables a los problemas arquitectónicos generales que dan una idea de cómo se implementan las partes internas para resolverlos. Ejemplos de ello son, 2-Tier, 3-Tier, N-Tier, MVC, REST etc.

Un estilo puede utilizar varios patrones para resolver múltiples problemas. Por ejemplo, un / estilo Cliente Servidor puede utilizar un patrón de N-Tier o (y) un patrón MVC para separar su negocio lógica , lógica de presentación y lógica de datos para la introducción de la modularidad que resuelve modifiability y problemas maintainability.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top