我使用的PHP框架(Kohana)最近实现了HMVC体系结构。我已经读过,它是一个分层的mvc,其中请求是相互重叠的。它有点像ajax,只是纯粹的服务器端。我已经在一些实验中应用了它,但是我不能将它应用到我的任何项目中(因为我找不到它)。你曾经在项目中使用过HMVC吗?它对你有什么帮助?什么可以使用HMVC体系结构?
回答
这是一个有点像阿贾克斯,只是纯粹的服务器-侧。
这是一个很好的比喻。
HMVC很适合将小部件添加到页面 - 模块化内容部分,您可以在几页上重复使用。例如,购物车小部件。你可以用不同的方式做同样的事情:
- 一个库。我们习惯于将可重用代码从控制器移动到库中。然后,从控制器中,您可以将对该库的调用结果加载到视图变量中。
- 一个视图。您可以从主视图中加载视图(部分)。该观点部分可能会从模型中获取内容。从视图调用模型并不总是受欢迎,但并不一定是错误的。
同时,Kohana HMVC有几个优点:
- 一致性 - HMVC请求被视为与外部的http请求。
- 电源 - HMVC请求与包含路由的http请求具有相同的Kohana资源。
- 可插拔性 - 从视图中调用时,HMVC请求在控制器(将库结果分配给视图)和视图占位符之间没有耦合。你只触摸一个文件而不是两个文件。
我开始欣赏HMVC和具有http请求的可伸缩性,由Kiall链接。 CURL也可以做同样的事情。然而,从一开始就设计Kohana HMVC比CURL更自然。
上面的文章链接是好的,但是这提供了一个简短但简明的答案。谢谢! – yretuta 2010-02-25 01:28:34
好的 - Sam de Freyssinet(aka samsoir),Kohana开发者之一,最近发表了一篇关于这个问题的文章。
http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/
虽然它不是HMVC的唯一用途 - 这是它的比较流行的应用之一。本文主要关注可扩展性(如每秒请求数),但代码可扩展性(如代码维护简单/难易)可通过相同想法“解决”。
希望这有助于:)
(附注 - 他的代码示例基于山姆的个人变化的Kohana - 见注释在文章的末尾)
我其实刚刚注意到URL中的日期是今天..好的时机:) – Kiall 2010-02-22 23:36:38
在一个简单的项目中,您甚至可能找不到HMVC体系结构模式的实际用途。你甚至不应该尝试。这是为什么:创建一个HMVC体系结构的关键在于使MVC变得更干燥一点。 HMVC的主要好处之一是代码重用。它可以让你的碎片在整个应用程序中重复(有时在同一个地方,其他时间 - 不)。
如果您正在编写小型测试应用程序,那么不会有任何可重复的片段。因此,不需要使用完整的HMVC潜力。你最终只能得到1级HMVC,这是你的标准MVC。
Here you can read the original publication, which introduced HMVC. 2000年。
- 1. API体系结构 - 包含什么
- 2. 什么是EPIC体系结构?
- 3. .NET MVC体系结构是什么?
- 4. 我可以使用MongoDB作为ActiveMQ主/从体系结构吗?
- 5. 是否可以在ASP.NET MVC中使用n层体系结构?
- 6. 什么是MapR分配中使用的容器体系结构?
- 7. 什么时候应该使用基于NSDocument的体系结构?
- 8. 不可变结构体对可变结构体的好处是什么?
- 9. 究竟构建体系结构,有效的构建体系结构意味着什么?
- 10. 什么是Web应用程序的常用体系结构?
- 11. Codeigniter HMVC模块结构
- 12. MVC/HMVC/PAC模式中的URL结构约定是什么?
- 13. 什么是最好的SAP ERP基础架构体系结构?
- 14. 代码构建和体系结构有什么区别?
- 15. 可以用于Web/Windows/WPF的体系结构
- 16. 什么是ASP.NET Web应用程序的推荐体系结构?
- 17. 什么是Lift-JPA应用程序的良好体系结构?
- 18. MVC体系结构
- 19. Elasticsearch体系结构
- 20. Graphql体系结构
- 21. Firebug体系结构
- 22. Rails体系结构?
- 23. 使用CellTable实现MVP体系结构
- 24. 使用GUID的夏普体系结构
- 25. PIP使用错误的体系结构
- 26. 什么都可以使用数据结构来表示
- 27. 在结构体内使用结构体
- 28. 使用Azure可以实现3层应用程序体系结构?
- 29. nopcommerce的可插拔体系结构
- 30. socket.io的可伸缩体系结构
+1,我最近从Code Igniter转到Kohana,想知道同样的事情。 – 2010-02-22 03:44:39