2010-02-03 36 views
33

Me gustaría saber la diferencia entre el marco y la arquitectura.
por ejemplo: dotnetnuke es el marco y mvc es la arquitectura.¿Cuál es la diferencia entre el marco y la arquitectura?

así que si tomamos ambos como ejemplo, ¿alguien puede decirme la diferencia entre ellos?
¿Quieres saber cuál está usando cuándo y dónde?
¿Cuál es bueno en términos de satisfacción del requisito del usuario?

+0

En muchos casos diría que se usan de forma intercambiable, aunque probablemente no deberían serlo, he oído que MVC llamó a un framework más que una arquitectura. –

+0

es solo un ejemplo. quiero borrar la definición – sikender

+2

MVC es un "patrón de diseño" en términos de CS, lo consideraría por separado de la arquitectura. Una arquitectura puede incluir muchos patrones. – Art

Respuesta

80

Déjenme ilustrar la diferencia.

Marco:

Framework

Arquitectura:

Architecture

+0

muy buena manera de dar respuesta. me gusta. – sikender

5

Frameworks es una colección de clases y herramientas que te ayudan a desarrollar grandes softwares ... como .net framework o Qt.
La arquitectura es completamente diferente: se refiere a un patrón de diseño o a cómo se organiza una aplicación o un marco. ¿Cuáles son los módulos que lo componen y cómo se comunican juntos?

+0

Frameworks: o pueden ayudarte a desarrollar un software pésimo. O se lo impondrán los Requisitos del proyecto, lo que le dificultará desarrollar un software excelente. –

2

Los marcos son generalmente una parte de su arquitectura. Normalmente son parte de la infraestructura de su código. MVC es un framework, como es ASP.NET, WinForms y muchas bibliotecas (NHibernate, PostSharp y más).

La arquitectura se refiere a cómo se armó su software: cómo está organizado, cómo interactúan las diferentes clases y módulos.

30

Es común para hacer esta distinción:

  • Un Biblioteca es un conjunto reutilizable de tipos/funciones que puede utilizar a partir de una amplia variedad de aplicaciones. El código de la aplicación inicia la comunicación con la biblioteca y la invoca.
  • A Framework consiste en una o más bibliotecas, pero la diferencia es que se aplica Inversión de control. La aplicación se registra con el marco (a menudo mediante la implementación de una o más interfaces) y las llamadas al marco en la aplicación, que pueden volver a llamar al marco. A menudo existe un marco para abordar un dominio particular de propósito general (como aplicaciones web o flujos de trabajo, etc.).
  • Arquitectura consiste en los principios rectores detrás de una aplicación determinada. No está fuertemente vinculado a un marco o biblioteca particular.
11

Simply put - architecture is theory, framework is implementation.

1

Framework es una parte de la implementación de arquitectura. Digamos, nuestra aplicación se organizará de acuerdo con la arquitectura de MVC y usará el marco SpringMVC para eso. Diferentes marcos están organizados de acuerdo a diferentes patrones arquitectónicos. Alguien puede decir que el término "marco" es en sí mismo un patrón arquitectónico. Su "opuesto" es "biblioteca", porque las bibliotecas son controladas directamente por su aplicación mientras que los marcos usan la inversión de control y ellos controlan la ejecución de su código. Sin embargo, existen controversias al usar el término "marco".

1

Creo que el marco es algo creado por alguien y disponible para lograr un objetivo. Al igual que MFC es un marco para escribir aplicaciones de GUI. Frameworks toma el control total de usted, pero le da la ventaja de no tratar de hacer todo desde cero. En la mayoría de los casos, es mejor utilizar un marco bien diseñado y probado, en lugar de escribir uno propio.
En este contexto, la arquitectura es cómo se ha diseñado el marco y, posiblemente, la forma de utilizar el marco desde su aplicación manteniendo la visión de los diseñadores del marco.

Pero la arquitectura en general es el principio de diseño y puede abarcar no solo software sino también sistemas completos. Pensar en seguridad, integración, informes, aspectos de infraestructura, etc.

5

también tomar nota de la diferencia entre el diseño y la arquitectura:

Diseño: W ¿Cuándo hablas sobre qué hacer cuando un usuario inicia sesión?
Ej. Usabilidad, portabilidad, accesibilidad, etc.

Arquitectura: ¿Cuándo se habla de qué hacer cuando 5000 usuarios inician sesión simultáneamente?
Ej. Escalabilidad, confiabilidad, disponibilidad, rendimiento, etc.

2

MVC es un patrón como se supone para una arquitectura, sin embargo, puede ser utilizado como una técnica en su arquitectura. El marco, como han dicho otros, es una colección de herramientas que utiliza para implementar su arquitectura. En otras palabras, el marco es el cinturón de herramientas.

5

La arquitectura se trata de estilo, idea abstracta, flujo, metodología, concepto. Framework es algo que implementa el estilo, la idea, el concepto, etc. o hace que sea más fácil implementarlo. ejemplo,

Arquitectura: Cada componente debe tener interfaces conectables estándar y debe ser posible conectar cualquier componente a cualquier otro.

Marco: Entonces, los bloques de construcción lego pueden ser el marco.

Biblioteca: algunas combinaciones de bloques confeccionadas que funcionarían como pilares.

Aplicación: Una estructura de construcción usando los pilares y otros bloques de construcción (aplicación).

1

La arquitectura es una vista lógica, significa que no tiene ninguna implícita (clases Java), simplemente tiene una idea de dónde colocar cada componente (jsp, servlet y componente de modelo para MVC architecure). También podemos llamarlo como patrón de diseño.

Framework es una implementación de una arquitectura. Al igual que Spring (Arquitectura de aplicaciones), Struts (MVS web App Architecture) son algunos framework.

0

te voy a dar una oportunidad:

marco: Marco
no es más que un proyecto original de la solución que va a ser proporcionado para una tarea o trabajo. El blueprint debe tener información como:
1. ¿Cuáles son los componentes (herramientas) involucrados o desarrollados? Y cómo están conectados
2. ¿Cómo se van a mantener los componentes
3. ¿Cuál es la entrada para todos los componentes y lo que de vuelta de nuevo
4. ¿Cómo se inició conseguir los componentes y lo que es la última salida mediante la integración de todos los componentes

Arquitectura: La arquitectura es un diseño que nos dice cómo el framework (o) given_solution se va a implementar en el entorno esperado.

Cuestiones relacionadas