MVC模型和MVT模型

MVC是众所周知的模式:model(模型)、view(视图)、controller(控制器),其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。用户在页面输入url,转交给url控制器,然后根据url匹配相应的视图函数,viwe会去到models取数据,然后models在数据库中取得数据后返回给视图,视图把要展示的数据返回给模版,然后就输出到页面上。

MTV,Django也是一个MVC框架,但是在Django中,控制器接受用户输入的部分由框架自行处理,所以django更加关注的是 模型(model)、view(视图)、templates(模版),也就是MTV模型。请求一个url后,匹配相应的view区,view去models(一个托管数据的层级)查找我们要的数据,然后将数据装载到templates层,然后呈献给我们。

 

MVC模式说明

  • M全拼为Model(模型),主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
  • V全拼为View(视图),用于封装结果,生成页面展示的html内容。
  • C全拼为Controller(控制器),用于接收请求,处理业务逻辑,与Model和View交互,返回结果。

1、 用户点击注按钮,将要注册的信息发送给网站服务器。

2、 Controller 控制器接收到用户的注册信息,Controller 会告诉 Model 层将用户的注册信息保 存到数据库。

3、 Model 层将用户的注册信息保存到数据库。
4、 数据保存之后将保存的结果返回给 Model 模型,
5、 Model 层将保存的结果返回给 Controller 控制器。
6、 Controller 控制器收到保存的结果之后,或告诉 View 视图,view 视图产生一个 html 页面。

7、 View 将产生的 Html 页面的内容给了 Controller 控制器。
8、 Controller 将 Html 页面的内容返回给浏览器。
9、 浏览器接受到服务器 Controller 返回的 Html 页面进行解析展示。

MVT模式说明

  • M全拼为Model(模型),与MVC中的M功能相同,负责和数据库交互,进行数据处理。
  • V全拼为View(视图),与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
  • T全拼为Template(模板),与MVC中的V功能相同,负责封装构造要返回的html。

1、 用户点击注册按钮,将要注册的内容发送给网站的服务器。
2、 View 视图,接收到用户发来的注册数据,View 告诉 Model 将用户的注册信息保存进数据库。

3、 Model 层将用户的注册信息保存到数据库中。
4、 数据库将保存的结果返回给 Model。
5、 Model 将保存的结果给 View 视图。
6、 View 视图告诉 Template 模板去产生一个 Html 页面。
7、 Template 生成 html 内容返回给 View 视图。

8、 View 将 html 页面内容返回给浏览器。

9、 浏览器拿到 view 返回的 html 页面内容进行解析展示。

原文地址:https://www.cnblogs.com/originalTblog/p/11746279.html

时间: 2024-08-02 18:18:02

MVC模型和MVT模型的相关文章

MVC模型和FishiGUI应用层的MVC模型

MVC概述: MVC (Modal View Controler)M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新. MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型.视图.控制器.它们各自处理自己的任务. 视图是用户看到并与之交互的界面.对老式的We

mvc模型和mvc框架的区别

Spring中的新名称也太多了吧!IOC/DI/MVC/AOP/DAO/ORM... 对于刚刚接触spring的我来说确实晕了头!可是一但你完全掌握了一个概念,那么它就会死心塌地的为你服务了.这可比女人忠诚多了. 在这里我们来说侃下MVC吧!嗯!MVC设计模型和MVC框架之区别. 一组概念需要先理解,因为后面需要用:   架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用.   框架:软件框架是项目软件开发过程中提取特定领域

Actor模型和CSP模型的区别

Akka/Erlang的actor模型与Go语言的协程Goroutine与通道Channel代表的CSP(Communicating Sequential Processes)模型有什么区别呢? 首先这两者都是并发模型的解决方案,我们看看其定义和实现方式: Actor模型描述了一组为了避免并发编程的常见问题的公理: 1.所有Actor状态是Actor本地的,外部无法访问. 2.Actor必须只有通过消息传递进行通信. 3.一个Actor可以响应消息:推出新Actor,改变其内部状态,或将消息发送

比较一下Linux下的Epoll模型和select模型的区别

一. select 模型(apache的常用) 1. 最大并发数限制,因为一个进程所打开的 FD (文件描述符)是有限制的,由 FD_SETSIZE 设置,默认值是 1024/2048 ,因此 Select 模型的最大并发数就被相应限制了.自己改改这个 FD_SETSIZE ?想法虽好,可是先看看下面吧 … 2. 效率问题, select 每次调用都会线性扫描全部的 FD 集合,这样效率就会呈现线性下降,把 FD_SETSIZE 改大的后果就是,大家都慢慢来,什么?都超时了. 3. 内核 / 用

NLP中word2vec的CBOW模型和Skip-Gram模型

参考:tensorflow_manual_cn.pdf     Page83 例子(数据集): the quick brown fox jumped over the lazy dog. (1)CBOW模型: (2)Skip-Gram模型:

利用生产者消费者模型和MQ模型写一个自己的日志系统-并发设计里一定会用到的手段

一:前言 写这个程序主要是用来理解生产者消费者模型,以及通过这个Demo来理解Redis的单线程取原子任务是怎么实现的和巩固一下并发相关的知识:这个虽然是个Demo,但是只要稍加改下Appender部分也是可以用于项目中的,假设项目里确实不需要log4j/logback之类的日志组件的时候: 二:实现方式 1.利用LinkedList作为MQ(还可以用jdk自带的LinkedBlockingQueue,不过这个Demo主要是为了更好的理解原理因此写的比较底层): 2.利用一个Daemon线程作为

Linux网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议看书<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型    下四层是为数据传输服务的,物理层是真正的传输数据的,数据链路层.网络层.传输层主要是写入对应数据的传输信息的        物理层:比特            设备之间的比特流的传输.物理接口.电气特性        数据链路层:帧            保存的最主要的信息是网卡的 mac 地址,mac 地址负责局域网通信的,发件人和收件人的mac 地址  

OSI七层模型和TCP/IP五层模型、iproute家族命令、管理工具介绍

1.简述osi七层模型和TCP/IP五层模型网络协议通常分不同层次进行开发,每一层分别负责不同的通行功能. 1.1 OSI七层模型OSI:Open System Internetconnection(开放系统互联),由ISO国际标准化组织定义:目的是规范网络环境,实现软硬件兼容:自上而下共分为七层,分别为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层. 应用层:各种应用程序及接口 表示层:对数据进行转换,加密.压缩 会话层:维持不同应用程序的数据分离 传输层:提供可靠的端到端的报文

基于JVM原理JMM模型和CPU缓存模型深入理解Java并发编程

许多以Java多线程开发为主题的技术书籍,都会把对Java虚拟机和Java内存模型的讲解,作为讲授Java并发编程开发的主要内容,有的还深入到计算机系统的内存.CPU.缓存等予以说明.实际上,在实际的Java开发工作中,仅仅了解并发编程的创建.启动.管理和通信等基本知识还是不够的.一方面,如果要开发出高效.安全的并发程序,就必须深入Java内存模型和Java虚拟机的工作原理,从底层了解并发编程的实质:更进一步地,在现今大数据的时代,要开发出高并发.高可用.考可靠的分布式应用及各种中间件,更需要深