iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
1
自我挑戰組

微程式語言白話文運動系列 第 14

微聊 MVC 模式 - Controller 一部曲

  • 分享至 

  • xImage
  •  

Controller

先來聊聊 Controller 的工作是什麼?當前端發出一個請求後,相對應的 Controller 將負責處理收到之任務,對於開發者來說,只需要依循規範方法來寫入 Controller 就可以了,但當然這方法寫完不是就結束了。其實可以再深入一點得說明:

Route 發出請求 -> Controller 執行“方法” -> 發送至 Model 幫忙查詢資料 -> 資料庫搜尋資料 ->
資料庫回傳資料 -> 回傳至 Model 翻譯翻譯 -> 發送給對應的 Controller 並轉送到 View -> 顯示在前端

這樣 MVC 的架構是否更清楚了呢?也可以把 Controller 想成是工廠裡的工頭,主要的工作是找到適合的人並分配其工作,等待完成後交付產品(收割?)出去。
enter

好啦,其實 Controller 也是很辛苦,在背後要處理很多的事是我們看不到的。不過呢,在 Ruby on rails 的環境裡,為了讓程式能較容易閱讀與維護,都盡量依循著 Rails 的「慣例優於設定」(CoC, Convention Over Configuration)的原則(潛規則?)。
例如我有以下這幾個 Controller :
controller

在依循「慣例優於設定」這個邏輯下,在命名時 Model 就會如以下:
 Model
這 Model 可能看起來好像有點多,除了原本的 cart, book, user 的 Model 之外,其他的 Model 都是在建立這些 Model 關聯時所分支出來的。

好了今天就先小小聊到這裡囉。明天見。掰餔。


上一篇
微聊 MVC 模式 - View 四部曲
下一篇
微聊 MVC 模式 - Controller 二部曲
系列文
微程式語言白話文運動30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言