2008-11-20 12 views
45

He leído un par de cosas sobre MVC pero todavía no entiendo cuándo deben usarse y cuándo no deben usarse. Estoy buscando ejemplos claros que digan cosas como " si está desarrollando esto, entonces debe usar MVC, como este" y " si está desarrollando esto, no debe usar MVC." La mayoría de los ejemplos que he visto dependen de marcos complejos que ya han implementado todo y usted tiene que aprender el marco y usarlo mucho para comprender lo que realmente está sucediendo. Para muchos programadores, fraseos tales como " interfaz de usuario lógica de negocio" suena como términos de marketing — por ejemplo, las palabras " En lugar de la vista se une directamente a un modelo de presentación" se utilizan en this post.¿Dónde puedo encontrar ejemplos claros de MVC?

Soy consciente de la peligros que pueden acechar en las sombras ya que MVC es un concepto y todos sienten que lo saben mejor, sin embargo, nadie sabe exactamente cómo usarlo porque puede haber muchas variables involucradas y todos pueden tener una perspectiva diferente sobre cómo diseccionar un proyecto en el Modelo, la Vista y el Controlador. Hay mucha teoría por ahí pero muy pocos ejemplos claros. Lo que estoy buscando no son las "mejores" formas de hacerlo, así que esto no debe considerarse como subjetivo; Estoy buscando diferentes implementaciones simples que me permitan decidir por mí mismo cuáles son los mejores enfoques.

Sucintamente: ¿Cuáles son los buenos recursos en línea que presentan argumentos a favor y en contra del uso de MVC en diversas situaciones y proporcionan ejemplos claros para ayudar al lector a comprender el concepto?

+0

Aquí hay un buen ejemplo de lo que estoy buscando: http://toys.lerdorf.com/archives/38-The- no-framework-PHP-MVC-framework.html – Tom

+1

Y aquí hay un gran ejemplo: http://www.c2.com/cgi-bin/wiki?ModelViewController – Tom

+0

La solicitud de enlaces/referencias no es una pregunta SO válida. –

Respuesta

13

OMI, son los mejores ejemplos de código y/o kits de iniciación.

Rob Conery tiene un great number of posts que explica cómo crear un sitio MVC con ASP.NET MVC. Cada uno de estos tiene un video tutorial que se ejecuta a través de la discusión del blog.

El ASP.NET MVC sitio oficial también tiene algunas video posts, kits de iniciación (here, here y here) y extra sauce para ayudar.

IMO, MVC es el camino a seguir para los sitios web. Sin escupir toda la jerga y el marketing, realmente descompone tu código en secciones agradables, separadas y definidas. Cada una de estas secciones también se puede probar ... lo que realmente ayuda a proteger el proceso de desarrollo porque tiene la tranquilidad de saber que tocar una parte del sistema no se rompe (porque todas las pruebas pasan después de su último cambio).

Otros blogs de los cuales los que debe salir:

1

He hecho esto de todas formas para varios proyectos. Codificando todo para una aplicación en un gran script PHP grande (OK, comenzó como un pequeño script PHP que simplemente creció). Para utilizar el último marco de trabajo de Spring/Freemarker, donde mis 5O líneas de código java se perdieron en un mar de XML y codificación de plantilla.

Puede hacer MVC sin un marco, y, en php esta es probablemente la forma más sencilla. Si todo su código de navegación está en una sola secuencia de comandos con solo lógica de navegación, ¡entonces está haciendo MVC!

Para cualquier cosa que no sea un QDP (Quick Dirty Page), recomendaría utilizar algún tipo de MVC. Imagínese lo que necesitaría hacer si el negocio dijera "¿puedo tener una versión en francés?" O "un gran programa, pero quiero almacenar los datos en la base de datos xxxxx".

0

A menudo es difícil separar claramente la lógica de la vista con la lógica de su negocio. Si lee abit en JSF & ejemplos de JSP, puede ver ejemplos claros de MVC en uso. Separar completamente la vista de la lógica de negocios.

Si buscas una buena información sobre MVC puedo sugerir http://en.wikipedia.org/wiki/Model-view-controller

Este es un tema importante y me gusta mucho la idea de sepperating las diferentes lógicas. Ayuda al programador y a todos los demás que trabajan en el proyecto.

4

Suponiendo que quiere decir MVC para la web te será difícil encontrar algo más conciso que los siguientes 60 líneas de código:

http://code.google.com/p/barebonesmvc-php/

En particular, tenga en cuenta el "método de plantilla" sendResponse, que a su vez se compone esencialmente de las siguientes 2 llamadas a métodos:

applyRequestToModel

applyModelToView

2

Uno de la calificación más alta que he visto es la publicación Learn MVC in 7 days. Por supuesto, tan bueno como lo es, todavía es insignificante en comparación con un libro como Pro ASP.NET MVC 4

Cuestiones relacionadas