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
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
Otro marco HMVC que usted debe comprobar es Alloy. Intenté explicar el concepto en términos sencillos en la página del manual HMVC Architecture y en this StackOverflow response a una pregunta similar.
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
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!
hombre que has explicado muy bien (y) –
- 1. sproutcore vs javascriptMVC para el desarrollo de aplicaciones web
- 2. Cloud vs Server para desarrollo de aplicaciones
- 3. Aplicación de Windows vs Desarrollo de aplicaciones web
- 4. Desarrollo de aplicaciones para Android: java vs. jquery mobile
- 5. Proceso de desarrollo de aplicaciones web
- 6. Desarrollo de aplicaciones web en Scala
- 7. Desarrollo de aplicaciones web en la Mac
- 8. Marcos de aplicaciones web: C++ vs Python
- 9. MVVM para desarrollo web
- 10. Planificación del desarrollo de aplicaciones web escalables
- 11. Para SharePoint O no (como una base para el desarrollo de aplicaciones) (vs ASP.NET)
- 12. SL4A vs Ruboto en el desarrollo de aplicaciones Android
- 13. Vaadin vs Apache Haga clic en cuál elegir para mi desarrollo de aplicaciones web
- 14. Lisp o Haskell para desarrollo de aplicaciones web
- 15. python vs java en el desarrollo de servicios web?
- 16. ¿Cómo desarrollo aplicaciones web 2.0 con CGI.pm?
- 17. ¿Cómo usar Lua para el desarrollo web?
- 18. Marco de desarrollo web Java MVC?
- 19. ¿Cuándo NO utilizar AJAX en el desarrollo de aplicaciones web?
- 20. El futuro del desarrollo web (RIA vs. HTML tradicional)
- 21. formularios web ASP.NET MVC vs lo que es mejor para aplicaciones de negocios
- 22. Decoradores vs. clases en desarrollo web python
- 23. Desarrollo web: localStorage vs. cache HTTP
- 24. Desarrollo de aplicaciones web para iPhone en ASP.NET: ¿por dónde empezar?
- 25. ASP .NET Web Forms tradicionales vs MVC
- 26. Desarrollo de aplicaciones para iPhone y Android
- 27. ¿Para qué puedo usar la arquitectura HMVC?
- 28. Ventajas y desventajas de MVC en términos de desarrollo de aplicaciones web
- 29. Servidor de aplicaciones Vs Servidor web
- 30. frameworks web Python vs frameworks web Java (¿cómo se hace el desarrollo web en Python?)
Creo que se movió en http://inviqa.com/blog/2010/02/22/scaling-web-applications-with-hmvc – Quamis
@Quamis Gracias, actualizado. – alex