2011-03-28 20 views
22

Ahora, estoy usando el patrón MVC para desarrollo web. Yo uso el framework codeIgniter. Encontré http://fuelphp.com/ y http://kohanaframework.org/, están usando HMVC. Todavía no estoy seguro de HMVC y ¿por qué deberíamos usar HMVC en lugar de MVC? Confundo después de leer el patrón HMVC y no es demasiado diferente con MVC. ¿Puede explicar por qué deberíamos usar HMVC para el desarrollo de aplicaciones web?MVC vs HMVC para el desarrollo de aplicaciones web

Respuesta

19

El (HMVC) patrón Modelo-Vista-Controlador jerárquica es una extensión directa al patrón MVC que logra resolver muchos de los problemas de escalabilidad ya mencionados. HMVC se describió por primera vez en una publicación de blog titulada HMVC: The layered pattern for developing strong client tiers en el sitio web de JavaWorld en julio de 2000. Gran parte del artículo se concentra en los beneficios de usar HMVC con interfaces gráficas de usuario . Ha habido some suggestion que los autores fueron reinterpretando otro patrón llamado Presentation-Abstraction-Control (PAC) descrito en 1987. El artículo en JavaWorld proporciona una explicación detallada de cómo HMVC puede ayudar en el diseño de aplicaciones de escritorio con GUIs. El objetivo de este artículo es demostrar cómo se puede usar HMVC para crear aplicaciones web escalables .

HMVC es una colección de triadas tradicionales MVC que funcionan como una aplicación . Cada tríada es completamente independiente y puede ejecutar sin la presencia de ninguna otra. Todas las solicitudes realizadas a tríadas deben utilizar la interfaz del controlador, nunca cargar modelos o bibliotecas fuera de su propio dominio. La ubicación física de las triadas dentro del entorno de alojamiento no es importante, siempre que se pueda acceder desde el todas las demás partes del sistema. Las características distintivas de HMVC fomentan la reutilización del código existente, simplifica la prueba de partes dispares del sistema y asegura que la aplicación sea fácilmente mejorada o extendida.

De Scaling Web Applications with HMVC por Sam de Freyssinet

+0

Creo que se movió en http://inviqa.com/blog/2010/02/22/scaling-web-applications-with-hmvc – Quamis

+0

@Quamis Gracias, actualizado. – alex

23

HMVC puede hacer cualquier cosa que pueda y más MVC

una de las cosas que se le había luchado con o en MVC es que no se puede llamar a un controlador de otro controlador (a menos que utilice una biblioteca personalizada o ayudante para hacer eso)

en HMVC (Modelo Vista controlador jerárquica) se puede hacer eso, me gustaría resumir todas las cualidades aquí:

  • reutilizar su código en otros proyectos
  • simplificar principal TaiNing su proyecto
  • escala
  • su proyecto
  • organizar código
  • estructura modular

que nunca volverá a MVC después de probar HMVC aquí es una imagen sea más clara

See picture

para CodeIgniter use "Extensiones modulares - HMVC"

Las extensiones modulares hacen que CodeIgniter PHP sea modular. Los módulos son grupos de componentes independientes, típicamente modelo, controlador y vista, organizados en un subdirectorio de módulos de aplicación que se puede colocar en otras aplicaciones CodeIgniter.

Los controladores de módulo se pueden utilizar como controladores normales o HMVC y se pueden usar como widgets para ayudarlo a crear parciales de visualización.

si desea utilizar CodeIgniter con el patrón HMVC, puede utilizar las extensiones modulares - HMVC aquí

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

y aquí están algunos tutoriales en vídeo agradables y divertidas que les permite conocer en los carriles con HMCV en CodeIgniter

https://www.youtube.com/watch?v=8fy8E_C5_qQ&list=PLBEpR3pmwCawDZ6FgNYoyvicEz4HrJPec&index=1

espero que ayude!

+1

hombre que has explicado muy bien (y) –

Cuestiones relacionadas