Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 用于web应用程序开发的MVC与HMVC_Model View Controller_Design Patterns_Hmvc - Fatal编程技术网

Model view controller 用于web应用程序开发的MVC与HMVC

Model view controller 用于web应用程序开发的MVC与HMVC,model-view-controller,design-patterns,hmvc,Model View Controller,Design Patterns,Hmvc,我正在使用MVC模式进行web开发。我使用codeIgniter框架。我发现,他们正在使用HMVC。我们仍然不清楚HMVC,为什么我们应该使用HMVC而不是MVC?读了HMVC模式后我很困惑,它和MVC并没有太大的区别。您能解释一下为什么我们应该使用HMVC进行web应用程序开发吗 层次模型视图控制器(HMVC)模式是一种直接 MVC模式的扩展,该模式能够解决许多问题 已经提到了可伸缩性问题。HMVC最初是在一篇文章中描述的 2000年7月在JavaWorld网站上发表的博客文章。大部分 这篇文

我正在使用MVC模式进行web开发。我使用codeIgniter框架。我发现,他们正在使用HMVC。我们仍然不清楚HMVC,为什么我们应该使用HMVC而不是MVC?读了HMVC模式后我很困惑,它和MVC并没有太大的区别。您能解释一下为什么我们应该使用HMVC进行web应用程序开发吗

层次模型视图控制器(HMVC)模式是一种直接 MVC模式的扩展,该模式能够解决许多问题 已经提到了可伸缩性问题。HMVC最初是在一篇文章中描述的 2000年7月在JavaWorld网站上发表的博客文章。大部分 这篇文章集中讨论了在图形用户界面上使用HMVC的好处 接口。一直以来,作者在哪里 实际上,重新解释另一种模式,称为 1987年描述的表示抽象控制(PAC)。文章 在JavaWorld中,提供了HMVC如何帮助 使用GUI设计桌面应用程序。这是本文的重点 本文将演示如何使用HMVC创建可伸缩的web应用程序 应用程序

HMVC是传统MVC三元组的集合,作为一个整体运行 应用每个空间坐标轴都是完全独立的,可以执行 没有任何其他人在场。所有向三合会提出的要求必须 使用控制器界面,不要加载模型或库 在他们自己的领域之外。空间中的三元组物理位置 托管环境并不重要,只要可以从 系统的所有其他部分。HMVC的显著特征 鼓励重用现有代码,简化对不同代码的测试 系统的一部分,并确保应用程序易于 增强的或扩展的

从 Sam de Freyssinet

HMVC可以做MVC能做的任何事情,甚至更多 在MVC中,您将要或曾经遇到的一件事是,您不能从另一个控制器调用控制器(除非您使用自定义库或帮助器来执行此操作)

在HMVC(分层模型视图控制器)中,您可以做到这一点,我将在这里总结所有质量:

  • 在其他项目中重用代码
  • 简化项目维护
  • 扩展您的项目
  • 组织代码
  • 模块化结构
在尝试HMVC之后,您将永远不会返回MVC 这里有一张更清晰的图片

对于CodeIgniter,使用“模块化扩展-HMVC”

模块化扩展使CodeIgniter PHP框架模块化。模块是一组独立的组件, 通常,模型、控制器和视图排列在应用程序模块子目录中,可以将其放入其他CodeIgniter应用程序中

模块控制器可以用作普通控制器或HMVC控制器,它们可以用作小部件来帮助您构建视图部分

如果您想将codeigniter与HMVC模式一起使用,您可以在这里使用模块化扩展-HMVC

这里有一些有趣的视频教程,可以让你在codeigniter中使用HMCV

希望有帮助

我相信它是在