model view controller - net - MVC vs HMVC para el desarrollo de aplicaciones web
mvc tutoriales ya (3)
El patrón Hierarchical-Model-View-Controller (HMVC) es una extensión directa del 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: el patrón estratificado para desarrollar fuertes niveles de clientes en el sitio web JavaWorld en julio de 2000. Gran parte del artículo se concentra en los beneficios de usar HMVC con interfaces gráficas de usuario. Se ha sugerido que los autores reinterpretaron otro patrón llamado Presentation-Abstraction-Control (PAC) descrito en 1987. El artículo de JavaWorld proporciona una explicación detallada de cómo HMVC puede ayudar en el diseño de aplicaciones de escritorio con GUI. 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 de MVC que funcionan como una sola aplicación. Cada tríada es completamente independiente y puede ejecutarse sin la presencia de ninguna otra. Todas las solicitudes realizadas a las tríadas deben usar la interfaz del controlador, nunca cargando modelos o bibliotecas fuera de su propio dominio. La ubicación física de las triadas en el entorno de alojamiento no es importante, siempre que se pueda acceder desde todas las demás partes del sistema. Las distintas funciones de HMVC fomentan la reutilización del código existente, simplifica la prueba de partes dispares del sistema y garantiza que la aplicación se amplíe o mejore fácilmente.
Desde la ampliación de aplicaciones web con HMVC por Sam de Freyssinet
Estoy usando el patrón MVC para el desarrollo web. Yo uso el framework codeIgniter. Encontré http://fuelphp.com/ y http://kohanaframework.org/ , están usando HMVC. Todavía no está claro de HMVC y por qué debemos usar HMVC en lugar de MVC? Estoy confundido después de leer el patrón HMVC y no es muy diferente de MVC. ¿Puede explicar por qué deberíamos usar HMVC para el desarrollo de aplicaciones web?
HMVC puede hacer cualquier cosa que MVC pueda y más
una de las cosas con las que habrá luchado en MVC es que no puede llamar a un controlador desde otro controlador (a menos que use una biblioteca personalizada o un ayudante para hacerlo)
en HMVC (Controlador de vista de modelo jerárquico) puedes hacer eso, resumiría todas las cualidades aquí:
- reutiliza tu código en otros proyectos
- simplifica el mantenimiento de tu proyecto
- escala tu proyecto
- organizar código
- estructura modular
nunca volverás a MVC después de probar HMVC aquí hay una imagen para ser más claro
para CodeIgniter usa "Extensiones modulares - HMVC"
Modular Extensions hace que CodeIgniter PHP framework 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 de 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 quiere usar codeigniter con patrón HMVC, puede usar Extensiones Modulares - HMVC aquí
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
y aquí hay algunos tutoriales en video agradables y divertidos que lo pondrán sobre rieles con HMCV en Codeigniter
https://www.youtube.com/watch?v=8fy8E_C5_qQ&list=PLBEpR3pmwCawDZ6FgNYoyvicEz4HrJPec&index=1
¡Espero que ayude!
Otro marco de HMVC que debe verificar es Alloy . Intenté explicar el concepto en términos sencillos en la página del manual de Arquitectura de HMVC y en esta respuesta de a una pregunta similar.