1. 程式人生 > >MVC模型與MTV模型

MVC模型與MTV模型

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模型