我在WIKI上查到如下的說明
https://zh.wikipedia.org/wiki/MVC
控制器(Controller)- 負責轉發請求,對請求進行處理。
視圖(View) - 界面設計人員進行圖形界面設計。
模型(Model) - 程序員編寫程序應有的功能(實現算法等等)、數據庫專家進行數據管理和數據庫設計(可以實現具體的功能)。
可是我還是不懂控制器(Controller)指的是什麼呢
能否以實際例子作說明呢?
例如:candy crush saga這遊戲的控制器(Controller)指的是什麼呢
謝謝!
如果要用Candy Crush做例子,個人認為要分成兩部分來看。
除了遊戲之外的操作,例如開始、結束按鈕、選單等等,都是容易整理出使用者input規則(在某個區域點擊,則調用某個model,顯示某個結果),而容易套用mvc模式。
遊戲本身的操作,會是一個需要特別處理的部份,就不能套用簡單的模式,這時就會需要改變規則了。(寫web後端大概不需要這樣變來變去,只要定好規則然後遵守)前面只是因應點擊區域的不同就套用不同的規則,現在可能要把可以操作的區域劃分開來,成為一個棋盤狀的區域,然後偵測在畫面上的連續滑動經過哪幾個區域,再把這幾個區域丟給處理遊戲資料模型的程式,讓他判斷消掉哪幾塊,畫面會怎樣變化,後續還會消掉哪幾塊,分數如何,是否達成過關條件等等。然後在把這些結果,在畫面上呈現。
都是使用者輸入,但是會因為需求而有不小的變化。遊戲本身是否能套用MVC模式,可能見仁見智。
Controller 管的是 User 和 Model 之間的溝通. Model 裡面只有商業邏輯, 但是他並不知道會由誰來觸發他? 而 Controller 則會根據 User 的行為, 決定要去觸發哪一個 Model....
(以上是我亂講的, 我根本沒寫過 MVC.......以下開放大師灌頂....)