博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC框架介绍
阅读量:4300 次
发布时间:2019-05-27

本文共 2194 字,大约阅读时间需要 7 分钟。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

1简介

MVC开始是存在于桌面程序中的,M是指业务模型,V是指 ,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用 、 来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
[1-2]
模型-视图-控制器( )是 在二十世纪八十年代为编程语言Smalltalk-80发明的一种 ,已被广泛使用。后来被推荐为 旗下 公司 平台的设计模式,并且受到越来越多的使用 和 的开发者的欢迎。模型-视图-控制器模式是一个有用的 ,它有很多好处,但也有一些缺点。
[3]

MVC 编程模式

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
[1]
  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

框架内容

MVC是一个框架模式,它强制性的使应用程序的输入、处理和 分开。使用MVC应用程序被分成三个核心部件:模型、 、控制器。它们各自处理自己的任务。最典型的MVC就是JSP +   +  的模式。
[5]

视图

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由 元素组成的界面,在新式的Web应用程序中, L依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 和像 , / , 等一些标识语言和 .
MVC好处是它能为应用程序处理很多不同的 。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
[6]

模型

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像 s和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
[6]

控制器

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送 时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
[6]

区别

框架和设计模式的区别
有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。
[7]
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
框架模式有哪些?
MVC、MTV、 、CBD、 等等;
框架有哪些?
语言的QT、MFC、gtk,Java语言的  、 , 语言的 smarty(MVC模式), 语言的django(MTV模式)等等
设计模式有哪些?
、适配器模式、策略模式等等
简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

转载地址:http://jxvws.baihongyu.com/

你可能感兴趣的文章
SSM 写出乐淘商城
查看>>
高精尖面试题汇总
查看>>
Linux面试题
查看>>
关于NSAutoReleasePool的理解
查看>>
微服务架构系列主题:微服务架构概述
查看>>
微服务架构系列主题:微服务架构解析与实践
查看>>
微服务架构系列主题:微服务架构及其最重要的 10 个设计模式!
查看>>
JavaWeb学习-注解-1-注解快速入门
查看>>
JavaWeb学习-注解-2-注解作用目标限定和保留策略
查看>>
JavaWeb学习-注解-3-反射注解
查看>>
JavaWeb学习-动态代理-1-方法newProxyInstance介绍
查看>>
JavaWeb学习-动态代理-2-invoke()方法和动态代理Waiter类练习
查看>>
RestAssured接口自动化从入门到框架搭建-20-框架组装-Maven项目环境搭建和BaseTest类和日志模块
查看>>
RestAssured接口自动化从入门到框架搭建-21-框架组装-TestBase类功能扩充和工具类TestUtils
查看>>
C++面向对象-1-类和对象以及封装
查看>>
GTest基础学习-04-第3个单元测试-测试夹具test fixture
查看>>
GTest基础学习-05-第5个单元测试-父test fixture和子test fixture的使用
查看>>
GTest基础学习-06-第6个单元测试-接口测试(类型参数驱动)
查看>>
从零开始到设计Python+Selenium自动化测试框架-如何开始
查看>>
Python+Selenium基础篇之2-打开和关闭火狐浏览器
查看>>