我最近閱讀this post,這導致了一系列其他帖子似乎都提出了相同的想法:模型完成所有工作,視圖應該能夠直接與模型進行通信,反之亦然,而控制器保持不變。然而,所示的所有示例都相當簡單,沒有一個真正顯示任何人試圖實現對請求/響應週期的全面處理的例子,這讓我想知道「模型是否應該負責處理請求(即$ _GET,$ _POST等)本身?「和「控制器是否應該作爲傳遞來實例化必要的模型並將模型傳遞給視圖?」。 (事實上,我發現一個例子採取了在模型中嵌入Zend_Form對象的極端)
從我閱讀福勒關於MVC和控制器的一般看來,乍一看,控制器層越薄越好。但後來我花時間回顧並研究了他對MVC和Front Controller的看法(因爲兩種模式都定義了控制器,所以它們只是混淆了水域),現在我的直覺表明Zend_Framework在實現這兩種模式的過程中實際上創建了一個在MVC中執行Controller的功能的複合對象,以及在Front Controller(或其他)中執行Command對象的複合對象。
所以我想知道其他人在應用程序中實現了類似模式的一般意見是什麼 - 您是在控制器層完全處理請求還是讓模型知道請求並直接處理參數在模型中?