Chiayin's blog

【2020 12th鐵人賽】Ruby名詞解釋總匯 - Day 14 : Rails 中的「MVC」!

字數統計: 458閱讀時間: 1 min
2022/10/30

MVC架構

*英文發音
首先來聽聽英文發音~。

Route
Yes

Model
Yes

View
Yes

Controller
Yes

什麼是MVC

是這樣子的,Rails這個網站開發架構,引入一種軟體架構模式-MVC模式(Model–view–controller)。

其便是將軟體分為三個部分:

  • 模型(Model)
  • 畫面(View)
  • 控制器(Controller)

為什麼要使用這套模式呢?他的優點在於:

  • 分工容易:每個部分各司其職,能讓程式的架構更加直覺,也因此更容易進行分工。
  • 開發慣例:另一個好處是,Rails的專案皆是遵循MVC的慣例結構,因此不同程度的設計者來開發,差異不會太大。Controller通常會放在app/controllers目錄裡,Model也會放在app/models目錄裡。協同性高。

Model View Controller

Model 模型

用於封裝與應用程式的商業邏輯(Business logic)相關的資料以及對資料的處理方法,處理資料庫的操作,會幫我們去資料庫調資料。

View 畫面

負責將資料傳遞給使用者,並處理畫面的呈現。

Controller 控制器

負責接收從外部 (使用者介面) 傳來的訊息並作出回應,指派工作,是 Model 和 View 的中間人,起到不同層面間的組織作用。

圖解MVC


圖片來源:龍哥的《為你自己學Roby on Rails》

  1. 當使用者輸入網址,連到你的網站時,會送到路徑對照表(Route)。
  2. 當Route解析網址後,會將任務轉給指定的Controller。Controller根據任務需求與View互動,或是透過Model取出database裡的資料。
  3. Model本身不是資料庫,但他可以幫我們去資料庫調資料,再回傳給Controller,並透過View顯現畫面唷。

參考資料

  • 為你自己學Ruby on Rails

本文於 2020-09-21 發表在舊網站。

發佈日期:2022-10-30

更新日期:2022-10-30

CATALOG
  1. 1. MVC架構
    1. 1.1. 什麼是MVC
    2. 1.2. Model View Controller
      1. 1.2.1. Model 模型
      2. 1.2.2. View 畫面
      3. 1.2.3. Controller 控制器
    3. 1.3. 圖解MVC
    4. 1.4. 參考資料