Pregunta

De acuerdo con Sun y Msdn es un patrón de diseño.

De acuerdo con Wikipedia se trata de una patrón arquitectónico

  

En comparación con los patrones de diseño, patrones arquitectónicos son de mayor escala.   (Wikipedia - Patrón arquitectónico )

O es un patrón arquitectónico que también tiene un patrón de diseño?

¿Cuál es verdad?

¿Fue útil?

Solución

MVC es más de un patrón arquitectónico, pero no a la aplicación completa. MVC se refiere principalmente a la capa de interfaz de usuario / interacción de una aplicación. Usted todavía va a necesitar capa de lógica de negocio, tal vez algo de capa de servicios y la capa de acceso a datos. Es decir, si usted está en el enfoque de nivel n.

Otros consejos

¿Por qué uno de ellos tienen que ser verdad?

Ambos pueden ser cierto, dependiendo del punto de vista.

MVC puede ser un patrón architectual, si se forma la base de la arquitectura de la aplicación.

También puede ser visto simplemente como un patrón de diseño, una noción abstracta que es aplicable a cualquier aplicación.

Los patrones de diseño decir cómo escribir código con eficacia (considerando Código Métrica ).

A pocos beneficios:

  1. fácil mantenimiento
  2. High Reutilización
  3. legible debido a abstracciones

Los patrones arquitectónicos decir la forma de utilizar los recursos de manera eficaz.

    ejecución
  1. tareas paralelas como programadores y diseñadores gráficos pueden trabajar en paralelo.
  2. Múltiples tecnologías pueden ser utilizadas para construir un software.
  

En MVC,      a). Las vistas pueden ser creados usando plantillas de JavaScript y HTML también se puede utilizar     marco .NET b). Los controladores pueden ser escritos y     c) Los modelos pueden ser escritos en Java -.. Un servicio de Java puede ser utilizado que devuelve sólo los datos JSON

     

Mientras que en el patrón de diseño, un patrón puede no implementarse en la que   código puede ser escrito en múltiples tecnologías como la clase adminuser en Java,   clase de cliente en C #, clase Partners en PHP y un patrón de fábrica en Rubí   :); hmmm..so fácil:?)

Sé que ha sido contestada hace un tiempo, pero hasta ahora nadie ha mencionado el libro que hizo MVC famosa: Patrón-Oriented Architecture Software (POSA), por Buschmann et al publicado en 1996. Aunque no lee tanto como el patrones de diseño del libro, por Gamma, et al, POSA es uno de los libros fundamentales utilizados por la comunidad de patrones.

Ah, y POSA identifica claramente MVC como un patrón arquitectónico. Mi corazonada es que la EM y Sun están simplemente ser descuidado y llamando a todos los patrones de un "patrón de diseño".

Creo que ambas son ciertas. Si usted está buscando en una determinada instanciación de MVC en un marco como Ruby on Rails, que es más instancias de un patrón de diseño. Si nos fijamos en MVC como un concepto general , que es más bien un patrón arquitectónico.

MVC siempre mencionado y se introdujo como / en la capa de presentación en libros de arquitectura de software.

Leer estos libros:

  1. Arquitectura de Soluciones Microsoft .NET para la Empresa (Microsoft prensa)

  2. patrones de diseño ASP.NET profesional (Wrox)

  3. enterpise Soluciones patrones de uso de Microsoft.NET (Microsoft Press )

  4. Patrones de Arquitectura de la aplicación empresas (Addison Wesley)

  5. Una Guía Práctica de la Arquitectura Empresarial (Prentice Hall)

Si poner diez arquitectos de software en una habitación y hacer que se discuten cuál es el patrón Modelo-Vista-Controlador es, el resultado final será con doce opiniones diferentes. ... Algunos de los puristas por ahí, inevitablemente, tendrá reparos con lo que me refiero como “MVC”. No dude en dejar un comentario en llamas sobre el tablero de mensajes en la parte inferior de esta página web. Con mucho gusto entretener a diferentes perspectivas sobre lo que significa MVC, pero tenga en cuenta que no me importa.

Josh Smith

Los patrones de diseño dentro de la tríada Modelo / Vista / Controlador (MVC) de las clases incluyen y no pueden limitarse a:

  • Observador , de desacoplamiento de objetos de modo que los cambios en uno (el modelo) pueden afectar a cualquier número de otros (las visitas) sin requerir que el objeto modificado (el modelo) para conocer detalles de la otros (las visitas).

  • Composite , que nos permite tratar a un objeto de grupo (una vista compuesta) al igual que tratamos a uno de sus objetos individuales (componentes de vista).

  • Estrategia , donde una vista utiliza una instancia de una subclase controlador para implementar una estrategia de respuesta en particular; para poner en práctica una estrategia diferente, simplemente reemplazar la instancia con un tipo diferente de controlador.

  • Método de fábrica , especificando la clase del controlador por defecto para una vista.

  • decorador , añadiendo el desplazamiento a una vista.


referencia

  • Páginas 4 a 6 (Sección 1.2 Patrones de diseño en Smalltalk MVC)
  • Páginas 293 a 304 (patrón de diseño Observador)
  • Páginas 163 a 174 personas (patrón de diseño compuesto)
  • Páginas 315 a 324 (patrón de diseño Estrategia)
  • Páginas 107-116 (patrón de diseño Método de fábrica)
  • Páginas 175 hasta 185 (patrón de diseño decorador)

Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides. Patrones de diseño: Elementos de software orientado a objetos reutilizables . Addison-Wesley, Reading, MA, 1994.

Y de acuerdo con Martin Fowler son arquitecturas de GUI: Martin arquitecturas de Fowler-GUI

Depende del tamaño de la aplicación, ya que sólo afecta a las clases relacionadas con interfaz gráfica de usuario, en un pequeño (en su mayoría GUI) se podría considerar un patrón arquitectónico mientras que en uno grande no sería más que un patrón de diseño que se aplica al código GUI (podría ser 10% del código aplicaciones).

MVC es patrón de arquitectura. Muy claramente establecido y demostrado en http://molecularsciences.org/zend/mvc_model_view_controller

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