我使用的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. 什麼樣的體系結構可用於廣泛的搜索
- 2. API體系結構 - 包含什麼
- 3. 什麼是EPIC體系結構?
- 4. .NET MVC體系結構是什麼?
- 5. Zend框架HMVC體系結構的幫助?
- 6. 可可 - 應用程序體系結構
- 7. 在Hub-Spoke體系結構中使用SyncOrchestrator可以嗎?
- 8. 我可以使用MongoDB作爲ActiveMQ主/從體系結構嗎?
- 9. 是否可以在ASP.NET MVC中使用n層體系結構?
- 10. 什麼時候應該使用基於NSDocument的體系結構?
- 11. 什麼是MapR分配中使用的容器體系結構?
- 12. 我們可以在opencl中使用結構體的結構嗎?
- 13. 不可變結構體對可變結構體的好處是什麼?
- 14. 究竟構建體系結構,有效的構建體系結構意味着什麼?
- 15. 什麼是Web應用程序的常用體系結構?
- 16. Codeigniter HMVC模塊結構
- 17. Android上混合應用的體系結構或結構應該是什麼?
- 18. MVC/HMVC/PAC模式中的URL結構約定是什麼?
- 19. 代碼構建和體系結構有什麼區別?
- 20. 什麼是最好的SAP ERP基礎架構體系結構?
- 21. 可以用於Web/Windows/WPF的體系結構
- 22. 如何使laravel HMVC結構5
- 23. Xcode構建設置中的「體系結構」和「有效體系結構」有什麼區別?
- 24. 什麼是Lift-JPA應用程序的良好體系結構?
- 25. 什麼是ASP.NET Web應用程序的推薦體系結構?
- 26. WPF/Silverlight企業應用程序體系結構..你做什麼?
- 27. android - 應用程序體系結構什麼是最好的?
- 28. 我可以使用什麼作爲NULL結構?
- 29. 什麼都可以使用數據結構來表示
- 30. 我可以在這裏使用什麼數據結構?
+1,我最近從Code Igniter轉到Kohana,想知道同樣的事情。 – 2010-02-22 03:44:39