美文网首页
MVC和MTV设计模式

MVC和MTV设计模式

作者: 清茶了了_ | 来源:发表于2018-03-29 19:23 被阅读0次

django是一个基于MVC构造的框架,即模型model,视图view和控制器controller。

但是在django中,控制器接受用户输入的部分由框架自行处理,所以 django 里更关注的是模型model、模板template和视图views,称为 MTV模式。它们各自的职责如下:

从以上表述可以看出Django视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django 模板 仅仅决定如何展现Django视图指定的数据。或者说, Django将MVC中的视图进一步分解为 Django视图 和 Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。

至于MVC控制器部分,由Django框架的URLconf来实现。URLconf机制是使用正则表达式匹配URL,然后调用合适的Python函数。URLconf对于URL的规则没有任何限制,你完全可以设计成任意的URL风格,不管是传统的,RESTful的,或者是另类的。框架把控制层给封装了,无非与数据交互这层都是数据库表的读,写,删除,更新的操作.在写程序的时候,只要调用相应的方法就行了,感觉很方便。程序员把控制层东西交给Django自动完成了。 只需要编写非常少的代码完成很多的事情。所以,它比MVC框架考虑的问题要深一步,因为我们程序员大都在写控制层的程序。现在这个工作交给了框架,仅需写很少的调用代码,大大提高了工作效率。

MVC:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

通俗解释:一种文件的组织和管理形式!不要被缩写吓到了,这其实就是把不同类型的文件放到不同的目录下的一种方法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离,松耦合等等,就不详细说明了。

模型(model):定义数据库相关的内容,一般放在models.py文件中。

视图(view):定义HTML等静态网页文件相关,也就是那些html、css、js等前端的东西。

控制器(controller):定义业务逻辑相关,就是你的主要代码。

MTV:有些WEB框架觉得MVC的字面意思很别扭,就给它改了一下。view不再是HTML相关,而是主业务逻辑了,相当于控制器。html被放在Templates中,称作模板,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。

相关文章

  • MVC和MTV设计模式

    django是一个基于MVC构造的框架,即模型model,视图view和控制器controller。 但是在dja...

  • 对MVC思考

    MVC和MTV设计模式[https://www.jianshu.com/p/9da5574f8793?utm_ca...

  • 用django来开发自己的博客

    [TOC] Django的MVC模式/MTV模式 Django紧紧地遵循MVC模式,可以称得上是一种MVC框架。 ...

  • django知识点二

    Django视图和URL配置 一、MTV模式 1、概述 Django的MTV模式本质上和MVC是一样的,也是为了各...

  • Django-05 MTV和模板层

    MVC和MTV MVC代表Model-View-Controller(模型-视图-控制器)模式。 M 模型层(Mo...

  • 一篇文章带你梳理Python Django的正确学习方法!

    Django是python的web开发框架,遵循MVC的设计模式,但在Django中通常称为MTV(model-t...

  • django简介

    django简介 MTV模式 Django的MTV模式,本质上就是MVC模式,也是为了解耦,只是定义不同 Mode...

  • Django相关的一些知识点

    01Django的MTV设计模式 Django其实也是一个MTV的设计模式。MTV是Model、Template、...

  • 14. Django MTV及Django模型

    MTV 我们或许都听说过MVC模式。MVC是模型(model)-视图(view)-控制器(controller)的...

  • 初识 Django

    Django 目的是要实现简单快捷的网站开发。以下内容简要介绍MTV设计模式 Django的MTV模式本质上和MV...

网友评论

      本文标题:MVC和MTV设计模式

      本文链接:https://www.haomeiwen.com/subject/ogrvcftx.html