Pregunta

El marco PHP que estoy usando (Kohana) implementó recientemente la arquitectura HMVC.He leído que es un mvc en capas donde las solicitudes se realizan una encima de la otra.Es un poco como ajax, sólo que puramente del lado del servidor.Lo he aplicado un poco en algunos experimentos pero no puedo aplicarlo a ninguno de mis proyectos (porque no encuentro la necesidad).¿Alguna vez has usado HMVC en un proyecto?¿Cómo te ayudó?

¿Fue útil?

Solución

  

Es un poco como Ajax, simplemente puramente del lado del servidor.

Es una buena analogía.

HMVC es agradable para añadir widgets a páginas - pedazos modulares de contenido que se va a reutilizar en algunas páginas. Por ejemplo, un widget carrito de compras. Se podría hacer la misma cosa de diferentes maneras:

  1. Una biblioteca. Estamos acostumbrados a moverse código reutilizable de un controlador en una biblioteca. Entonces, desde el controlador, se puede cargar los resultados de una llamada a la biblioteca en una variable de vista.
  2. Una vista. Se podría cargar una vista (parcial) desde el interior de la vista principal. Esa vista parcial podría tirar en el contenido de los modelos. Llamando a los modelos de puntos de vista no siempre es popular pero no es necesariamente malo.

Sin embargo, Kohana HMVC tiene algunas ventajas:

  1. Coherencia -. Solicitudes HMVC se trata igual que las peticiones HTTP externos
  2. Potencia - HMVC solicitudes tienen los mismos recursos Kohana como las solicitudes HTTP incluyendo rutas
  3. .
  4. enchufabilidad - cuando se llama desde un punto de vista, una solicitud de HMVC no tiene un acoplamiento entre el controlador (que asigna los resultados de la biblioteca a una vista) y una vista marcador de posición. Sólo se toca un archivo en lugar de dos.

estoy empezando a apreciar el caso para HMVC y escalabilidad con http peticiones como vinculados por Kiall. Lo mismo podría hacerse con rizo. Sin embargo, podría ser más natural para diseñar con Kohana HMVC de CURL desde el principio.

Otros consejos

Bueno, Sam de Freyssinet (también conocido como samsoir), uno de los desarrolladores de Kohana, publicó recientemente un artículo que trata esta cuestión.

http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/

Si bien no es el único uso de HMVC, es uno de sus usos más populares.El artículo se ocupa principalmente de la escalabilidad (como en el número de solicitudes por segundo), pero la escalabilidad del código (como en qué tan fácil/difícil es mantener el código) se puede "resolver" con las mismas ideas.

Espero que esto ayude :)

(Nota al margen: sus ejemplos de código se basan en los cambios personales de Sam en Kohana; consulte la nota al final del artículo)

En un proyecto simple que no podría incluso encontrar una utilidad real para el patrón arquitectónico HMVC. Y no deberías intentarlo. He aquí por qué:

El punto entero en la creación de una arquitectura HMVC era hacer un poco MVC DRY'er. Uno de los principales beneficios de HMVC es la reutilización de código. Te permite tener fragmentos que se repiten por toda su aplicación (a veces en mismo lugar, otras veces - no).

Si está escribiendo tan pequeña prueba, que no habrá ningún fragmento repetibles. Por lo tanto, no hay necesidad de utilizar el potencial HMVC completa. Que acaba de terminar con 1 nivel de HMVC, que es estándar MVC.

Aquí se puede leer la publicación original, que introdujo HMVC. En 2000a.

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