MTV和MVC的區別

Bound_w發表於2018-11-23

著名的MVC模式:方便解藕

  所謂的MVC就是把web應用分為三層

  1.模型層:  model     負責業務物件和資料庫的物件(ORM)的對映

  2.檢視層       views  負責與使用者的互動(書寫邏輯)

  3.控制器  Controller   完成使用者對模型層和檢視層呼叫,來完成使用者的請求

他們之間已一種外掛式的,鬆耦合的方式連線在一起,

Django的MTV模式本質上和MVC沒有什麼大的差別,也是為了實現解藕性,只是定義上有些不同

  1.模型層:  model     負責業務物件與資料庫的物件(ORM)的對映

  2.模板層  Template   負責如何把頁面展示給使用者(html)

  3.檢視層:  View    負責業務邏輯,並在適當的時候呼叫Model和Template

另外:Django還有一個URL分發器,它的作用是將一個個URL的頁面請求分發給不同的檢視,檢視在呼叫相對的模板和Model

區別:
  MVC中的View的目的是「呈現哪一個資料」,而MTV的View的目的是「資料如何呈現」。

  也就是把MVC中的View分成了檢視(展現哪些資料)和模板(如何展現)2個部分,而Contorller這個要素由框架自己來實現了,我們需要做的就是把(帶正規表示式的)URL對應到檢視就可以了,通過這樣的URL配置,系統將一個請求傳送到一個合適的檢視。

相關文章