model-view-controller - Web 应用程序开发的 MVC 与 HMVC

标签 model-view-controller design-patterns hmvc

我正在使用 MVC 模式进行 Web 开发。我使用 codeIgniter 框架。我发现http://fuelphp.com/http://kohanaframework.org/ ,他们正在使用 HMVC。对于 HMVC 还是不清楚,为什么我们应该使用 HMVC 而不是 MVC?读完 HMVC 模式后我很困惑,它与 MVC 没有太大区别。您能解释一下为什么我们应该使用 HMVC 进行 Web 应用程序开发吗?

最佳答案

HMVC 可以做 MVC 可以做的任何事情,甚至更多

在 MVC 中您将遇到或曾经遇到过的问题之一是您无法从另一个 Controller 调用一个 Controller (除非您使用自定义库或帮助程序来执行此操作)

在 HMVC(分层 Model View Controller )中你可以做到这一点,我将在这里总结所有的品质:

  • 在其他项目中重用您的代码
  • 简化项目维护
  • 扩展您的项目
  • 组织代码
  • 模块化结构

尝试过 HMVC 后你将永远不会再回到 MVC 这是一张图片更清楚

See picture

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

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

模块 Controller 可以用作普通 Controller 或 HMVC Controller ,并且它们可以用作小部件来帮助您构建 View 部分。

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

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

这里有一些精彩有趣的视频教程,可以让您在 codeigniter 中使用 HMCV 上路

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

希望有帮助!

关于model-view-controller - Web 应用程序开发的 MVC 与 HMVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5454337/

相关文章:

php - Codeigniter 3.x - 将 $data 与动态数据一起预加载到所有 View

model-view-controller - 在指令中更新 angularjs 中的 Controller 模型

ios - 当用户更改 slider 位置时设置 slider.value 不好吗?

php - 多个模型与单个模型

c# - 将数据访问层移动到 WCF 服务

c# - 使用 MVP-VM 设计模式在 Presenter 中正确使用模型

codeigniter - 在 codeigniter HMVC 中加载 View 不起作用

javascript - 可以将JavaScript用作Asp.Net MVC的嵌入式资源吗?

Java: View (GUI)和 Controller 与 MVC 的交互?

javascript - 模块模式中的私有(private)变量