MVC模型與MTV模型
阿新 • • 發佈:2017-11-13
png 如何 emp 請求 pytho 後端 com 不同 界面
MVC模型:
MVC(Model View Controller 模型-視圖-控制器)是一種Web架構的模式,它把業務邏輯、模型數據、用戶界面分離開來,讓開發者將數據與表現解耦,前端工程師可以只改頁面效果部分而不用接觸後端代碼,DBA可以重新命名數據表並且只需更改一個地方,無需從一大堆文件中進行查找和替換。
MVC將web應用分為三層,分別是模型,視圖,控制器。松耦合的連接方式,類似於插件的感覺。可以提高代碼復用的能力。
MVC特點是單向性:
1. 瀏覽器發送請求
2. 控制器和模型交互獲取數據
3. 控制器調用視圖
4. 視圖渲染數據並返回
MTV模型:
和Rails、Spring、Laravel等其他語言的Web框架不一樣,在Python中,基本上都使用了MVC的變種MTV(Model Templates View 模型-模板-視圖)
以django的MTV為例,MTV分別代表了:模型,模板,視圖
1. Model:和MVC的Model一樣,處理與數據相關的所有事務:如何存取、如何確認有效性、包含哪些行為以及數據之間的關系等。
2. Template:處理與表現相關的決定,如何在頁面或其他類型文檔中進行顯示出來。
3. View:處理業務邏輯,視圖就是一個特定URL的回調函數,回調函數中描述數據。從Model取出對應的數據,調用相關的模板。它就是Contorller要調用的那個用來做Model和View之間的溝通函數,從而完成控制。
【註】MVC與MTV的view目的不同:
MVC中的View的目的是:呈現哪一個數據。
MTV的View的目的是:數據如何呈現。
MVC模型與MTV模型