2011-05-08 43 views
11

Duplicar posible:
Alternatives to the MVC¿Cuáles son las alternativas a la arquitectura MVC para el desarrollo web?

He buscado alrededor de alternativas para ver lo que está disponible, pero casi no puedo encontrar nada.

que he leído en muchos artículos que Web MVC no es cierto MVC por algunas razones demasiado técnica para que agarre realmente. Y a veces se sugiere buscar algo más, pero ¿cuáles son las cosas más importantes? ¿Cuáles son los otros tipos de arquitectura? ¿Dónde puedo leer más al respecto? ¿Puede alguien proporcionar más detalles sobre lo que está disponible por ahí?

Por cierto, yo ya leer acerca de los 3 niveles arquitecturas, que en mi opinión es bastante similar, a menos que se demuestre lo contrario.

¿Qué más hay?

+0

también [¿Qué alternativas existen a Modelo-Vista-Controlador?] (Http://stackoverflow.com/q/24496) – ale

Respuesta

5

Lo sentimos, no tienen ningún fáciles de digerir comparaciones. Pero existe, por ejemplo, el patrón Model-View-Presenter que ha reemplazado a MVC, y en realidad está más cerca de lo que la mayoría de los frameworks de PHP hacen prácticamente. http://richnewman.wordpress.com/2008/02/26/model-view-presenter-variations-on-the-basic-pattern-introduction-to-cabscsf-part-24/

Los artículos como http://c2.com/cgi/wiki?TemplatingInPhp asumen que PHP es el mejor modelo para webapps, y los patrones en lugar de las plantillas no agregan suficientes beneficios.

Además de PAC, también hay Model-View-ViewModel (que actualmente es un tema candente en C# pero no en PHP) y y Model-Delegate http://c2.com/cgi/wiki?ModelDelegate que se expanden en MVC. Pero tampoco pueden ser tan útiles para webapps genéricos.

1

Modelo-Vista-Controlador es un concepto bastante bueno, pero la interpretación por parte de un marco puede ser diferente. Normalmente, "ver" es una plantilla con algo de lógica. El modelo a menudo se describe como un documento XML o YAML. Finalmente Controller es una pieza de código en un lenguaje de programación.

Mi alternativa propuesta se basa en el diseño orientado a objetos. La vista es un objeto. El modelo es un objeto. El controlador también es un objeto. Esto abre posibilidades para un mayor nivel de eficiencia, simplicidad y reutilización de códigos.

Este principio es implemented in my web development framework y yo también estoy describiendo es in details in my blog post — Object Oriented MVC

Cuestiones relacionadas