MVC和MTV框架模式的詳解


MVC和MTV框架

MVC

  Web服務器開發領域里著名的MVC模式,所謂MVC就是把Web應用分為模型(M),控制器(C)和視圖(V)三層,他們之間以一種插件式的、松耦合的方式連接在一起,模型負責業務對象與數據庫的映射(ORM),視圖負責與用戶的交互(頁面),控制器接受用戶的輸入調用模型和視圖完成用戶的請求,其示意圖如下所示:

MTV

  Django的MTV模式本質上和MVC是一樣的,也是為了各組件間保持松耦合關系,只是定義上有些許不同,Django的MTV分別是值:

  • M 代表模型(Model): 負責業務對象和數據庫的關系映射(ORM)。
  • T 代表模板 (Template):負責如何把頁面展示給用戶(html)。
  • V 代表視圖(View): 負責業務邏輯,並在適當時候調用Model和Template。

  除了以上三層之外,還需要一個URL分發器,它的作用是將一個個URL的頁面請求分發給不同的View處理,View再調用相應的Model和Template,MTV的響應模式如下所示:

  

  一般是用戶通過瀏覽器向我們的服務器發起一個請求(request),這個請求回去訪問視圖函數,(如果不涉及到數據調用,那么這個時候視圖函數返回一個模板也就是一個網頁給用戶),視圖函數調用模型,模型去數據庫查找數據,然后逐級返回,視圖函數把返回的數據填充到模板中空格中,最后返回網頁給用戶。

設計模式與框架模式的區別(補充)

說到框架模式我們有必要簡單的說下設計模式,了解下設計模式這個概念,因為有人對設計模式和框架模式的概念經常混淆

設計模式:

   是一套被反復使用,多數人知道並經過分類的代碼設計經驗總結,是為了解決一些通用性問題的

   目的:重用代碼並保證代碼的可靠性

   設計模式分類:單例,抽象工廠 等等 23種模式

    一句話總結:解決某一些特殊問題的一種思想和思路

框架模式:

    代碼重用,框架模式是解決如何設計程序框架的代碼,在框架模式中會包含多種設計模式,與設計模式是一種包含關系,

    舉例來說:比如要蓋樓,那怎么蓋樓屬於框架模式,樓里面的電梯怎么設計,樓梯怎么設計,屬於設計模式,所以框架模式在                             蓋樓中屬於如何把樓蓋起來,那么他里面會包含多種設計模式,具體的細節碰到不同的東西,會采用不同的設計                               模式來解決,因此在一種框架模式中會包含多種設計模式。

目前流行的框架模式:

MVC(適用於多種編程語言,單在python中不常用):
MTV(django)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM