MVC架構
*英文發音
首先來聽聽英文發音~。
什麼是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》
- 當使用者輸入網址,連到你的網站時,會送到路徑對照表(Route)。
- 當Route解析網址後,會將任務轉給指定的Controller。Controller根據任務需求與View互動,或是透過Model取出database裡的資料。
- Model本身不是資料庫,但他可以幫我們去資料庫調資料,再回傳給Controller,並透過View顯現畫面唷。
參考資料
- 為你自己學Ruby on Rails
本文於 2020-09-21 發表在舊網站。