MVC简单的认识
学习一个新知识,首先要了解的就是以下几个问题,它是什么?它能干什么?使用它有什么优点?这篇文章就环绕这几个问题来展开讨论。
mvc不是一种编程语言,严格来说。它都不算是一门技术。它是开发软件时使用的一种“架构(框架)”。他就像是一种开发模式,或者是一个程序设计模板。
软件开发者老生常谈的一个问题,就是软件开发过程中的变化,需求会变,技术会变。客户会变。老板会变,更痛苦的是PM也会变。开发过程中没有什么是固定不变的,改变会给软件开发带来很大的变故。这些我们都无法改变。我们唯一能做的就是尽可能的降低变化带来的损失,mvc就是当中的一种解决方式。
MVC,Model View Controller。它是模型,视图,控制器的缩写,是将界面显示,业务逻辑和数据分离的一种模型。这样我们就能够在不更改逻辑的基础上改动界面显示。减少了界面和逻辑功能之间的耦合性,添加了代码复用性。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDk0MjQ2NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Model层。也叫模型层,主要负责和数据交互的任务。
模型层主要功能有定义数据结构。从数据库读、取数据,数据格式验证,读数据进行加工处理。
model层类似与三层架构中的DAL
层。主要与数据库进行交互。而且进行简单的数据处理。
View层,即视图层,负责全部界面层的任务。事实上就是写入数据和显示数据。主要功能有获得数据,显示数据。决定界面技术(HTML,XML,Flash等)。界面排版;向Controller返回数据,决定数据传送方式,数据验证。
view层类似于三层中的UI层,主要是和用户进行数据交互的。
Controller层。集控制层。接受用户输入的数据。调用模型和视图完毕用户的需求。当用户单击超链接或者发送HTML表单时。控制器事实上不做不论什么的处理和输出,它仅仅是依据实际情况决定调用哪个模型或者视图去处理这个请求,然后决定使用哪个视图来显示返回的处理结果。
Controller层和三层中的BLL层不一样,由于它没有数据处理或者是逻辑处理功能,它仅仅是控制调用其它组件来完毕需求。
看一个简单的页面显示演示样例:
首先,页面响应用户的事件,然后向controller发送用户需求,controller依据用户需求调用model组件,model组件完毕数据操作,然后返回到controller。controller依据需求。选取相应view,将结果显示到界面。
能够看到,controller将界面显示和数据处理全然的分隔开了。减少了它们之间的耦合,开发者能够依据用户需求随意更改界面显示,而不用考虑数据处理的功能,这样,系统的耦合性很低。而且添加了下层代码复用性。
和三层的比較:
能够看出来。mvc和三层差别非常大。三层的划分是为了软件开发过程中不同阶段的代码封装问题,层次的划分添加了系统的灵活性,减少了系统耦合度(没有全然解决问题)。
三层架构能够应用在全部的软件开发中。mvc是为了解决页面的更换问题。把页面显示和业务逻辑分开。mvc把全部的页面显示放到view中。把数据操作和处理封装到了model中,controller进行总体控制。mvc是为了解决BS项目中界面显示和业务逻辑的耦合问题。
总结:MVC和三层事实上都是为了减少系统耦合性的,仅仅是它们側重点不同。它们没有好坏点,只是不适合解决这个问题,或者是否可以使用一个很好的问题。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
MVC简单的认识的更多相关文章
- MVC简单分页
对Car汽车表分页 实现简单分页,放在这里方便查看回顾,自定义每页几条有点问题,有待完善······ 1.新建mvc项目 2.添加linq to sql 数据库连接 3.添加CarBF类 using ...
- Spring mvc系列一之 Spring mvc简单配置
Spring mvc系列一之 Spring mvc简单配置-引用 Spring MVC做为SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块 ...
- Asp.Net MVC学习总结(一)——Asp.Net MVC简单入门
一.MVC简单入门 1.1.MVC概念 视图(View) 代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML.XML和Applet. 模型(Model) 表示用户对其数 ...
- ASP.NET MVC 简单介绍①
ASP.NET MVC 简单介绍① 只做了重要描述,内容出自菜鸟教程网站内容. 目录 1布局 2HTML 帮助器 3.Razor 语法 4.添加样式 5.Layout 6. Controllers ...
- ASP.NET MVC 简单事务添加
ASP.NET MVC 简单事务 //实例化查询上下文 using ( BookStoreEntities db = new BookStoreEntities()) { //找到需要价格和名称的数据 ...
- ASP.NET MVC 简单分页代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- MVC学习一:MVC简单流程
MVC学习一:MVC初次接触 1.MVC简单流程 1.1.服务器接收客户端请求后,解析URL(根据 路由表里配置的URL来分析 类名(控制器名)和方法名)根据请求的类名,创建对应的控制器类对象,并调用 ...
- Asp.net MVC 简单分页 自做简单分页
Asp.net MVC 简单分页: public static string Pager(int page,int pageSize,int total) { ...
- ASP.NET MVC简单编程之(二)经典路由篇
话题:请求从路由开始 在实际的ASP.NET MVC开发中,URL访问规则----路由的定义是非常重要的.因为任何一个请求都离不开路由.理解它,我们将能理解MVC处理请求的整个过程,灵活地定义系统各种 ...
- 小试牛刀MVC简单网页
上次我们创建了第一个MVC的网站,没用下,这次就简单来运行下,首先大家要去理解下MVC模式到底什么关系.在这里我就不多说,直接创建一个网页,用来显示一些数据,数据库的话我就先简单用这样创建先,为了方便 ...
随机推荐
- 在项目里交叉使用Swift和OC
Swift and Objective-C in the Same Project 在项目里交叉使用Swift和OC Swift与OC的兼容性使得你能够在项目里使用Swift+OC的方式编写应用程序, ...
- 屏蔽DataGridView控件DataError 事件提示的异常信息
DataGridView.DataError 事件简单介绍: 出现故障.则外部数据分析或验证操作引发异常,或者.当尝试提交数据写入数据源失败. 具体信息:參见MSDN this.dgvState.Da ...
- ubuntu 系统设置bugzilla制
随着时间的推移.在大脑中形成的记忆总会慢慢的淡去.人的记忆力就是这样.所以最好的办法就是形成博客去记录下来,一方面给自己以后回想用.一方面也算是自己的一个积累.所以一旦选择了一个行业,最好不要轻 易转 ...
- 完整的java字符串编码转换代码
package book.String; import java.io.UnsupportedEncodingException; /** *//** * 转换字符串的编码 * @author joe ...
- Android实现限制EditText输入文字的数量
一: 声明控件. TextView hasnumTV; TextView hasnum;// 用来显示剩余字数 int num = 50;// 限制的 ...
- 使用MVC写模式jsp连接到数据库操作
首先用一个JavaBean封装数据库操作,即mvc中的模型 JdbcBean.java package data; import java.sql.*; public class JdbcBean { ...
- Error 56: The Cisco Systems, Inc. VPN Service has not been started(Cisco VPN在Vista下出现Error 56的解决办法)
Error 56: The Cisco Systems, Inc. VPN Service has not been started(Cisco VPN在Vista下出现Error 56的解决办法) ...
- C#实现远程机器管理
原文:C#实现远程机器管理 目前处于待离职状态,原先所有的工作都在进行交接,过程当中不乏有很多先前整理的和动手尝试实现的功能:我的主页中已经列出来一部分内容,有兴趣的可以前往看一看. 接下来的内容主要 ...
- [转载][NAS] 使用win8的“存储池”功能~
之前自己用DQ77KB搭建一个小存储系统(帖子链接:http://www.chiphell.com/thread-567753-1-1.html),一直使用intel主板带的软RAID功能构建RAID ...
- 【DP|多重背包可行性】POJ-1014 Dividing
Dividing Time Limit: 1000MS Memory Limit: 10000K Description Marsha and Bill own a collection of mar ...