MVC(Model-View-Controller)是軟體工程上面的一種軟體設計模式,目的即是將程式與設計做一個區隔,創造一個權責分明的開發架構,透過分層的切割,讓「視覺設計師專心做設計,程式設計師專心寫程式」,使開發上更能模組化及提高可維護性,其做法是將應用程式分割成以下三個邏輯元件:
- Model-主要負責應用程式中的商業邏輯(Business Logic),商業邏輯是一個非技術用語,用來描述應用程式功能性的演算法以及資料庫與使用者介面之間的資料交換。Model封裝了應用程式中對資料的存取並提供可重複使用的函式庫,舉凡資料庫存取的抽象化,郵件的遞送,資料的驗證與稽核都會在此進行。
- View-簡而言之,即是我們用來呈現Model取得的資料與蒐集使用者互動資料的網頁,HTML / CSS / JavaScript都是使用於此層的技術。
- Controller
- 蒐集使用者於View中所輸入的資料並決定由哪一支程式進行資料的處理。
- 接收Model所回傳的資料並在解析後傳遞給View作呈現。
- 所有程式的例外處理以及流程控制。
refs: https://ascc.sinica.edu.tw/iascc/articals.php?_section=2.4&_op=?articalID:4311
JAVA MVC example
refs: http://www.leepoint.net/notes-java/GUI/structure/40mvc.html