MVC:Model-View-Controller,将数据和显示形式分离。

Model:能够看做是三层中的D层+B层,实现业务逻辑和与数据库的交互。

View:看做是U层,用来显示数据。

Controller:用来调节M和V,决定调用哪个Model处理数据,载入那个视图显示数据。

那么这三层究竟是怎样工作的呢?

比如要用户要查看相关的数据,在浏览中以表格形式显示。

在执行程序时,首先是Controller调用Model层的方法,Model进行详细的业务逻辑实现与数据库进行交互。查到相关的数据。然后返回数据给Controller。Controller接收数据。然后调用View进行显示。

在VS中使用时,首先须要建立一个MVC,在项目下会相应的生成三个目录,例如以下图:

在使用时要注意一下三点:

1、首先建立Controller,须要注意的是:在.net的MVC框架里有这种约定:控制器在命名时“Controller”必须保留,例如以下图:

2、在建立完成之后能够在控制器中调用Model中的方法对数据进行处理,然后将数据返回给View层进行显示,那么视图应该怎样的建立呢?当在Controller须要调用使用进行数据显示的时候。在相应的方法名称处右击——加入视图。这样在Views的目录中就会生成一个和Controller同名的目录,例如以下图所看到的:

3、在目录下会生成一个视图(该视图一般也方法名同名。也可不同样),例如以下图:

小结

MVC和我们之前学过的三层有异曲同工之处。都是为了更好的解耦合,仅仅是MVC相当于是对三层中的UI层再进行分层。使得数据显示和业务逻辑分开,不像是aspx后后台写好代码,然后使用控件进行绑定数据,这样逻辑就是写死在固定的页面中的。假设一个要所改动,相应的还有一个也须要做改动。

使用MVC能够使显示和业务逻辑分离

刚開始学习学习MVC感觉它和三层、apsx都有可比性,如今体会还不深刻。继续完好吧!

MVC初了解的更多相关文章

  1. ASP.NET MVC 初体验

    MVC系列文章终于开始了,前段时间公司项目结束后一直在封装一个html+ashx+js+easyui的权限系统,最近差不多也完成了,迟些时候会分享源码给大家.当然这个MVC系列结束后如果时间允许还会另 ...

  2. MVC初认

    初探MVC 何谓MVC 简单来说就是开发程序时所使用的一种“架构(框架)”.它就是开发的一种观念,或者说是存在已久的设计规则.我们知道在开发过程中总会伴随着需求.技术.客户.老板等因素的变化,给开发带 ...

  3. MVC – 4.mvc初体验(2)

    5.显示学员列表 效果 数据表 5.1 首先,在文件夹Models新建一个新建项(W),选择ADO.NET 实体数据模型 (SingleTest.edmx) 5.2 建一个控制器,StudentsCo ...

  4. MVC – 4.mvc初体验(1)

    1.MVC请求模式   2.MVC简单请求流程图 展开 折叠     3.返回string的mvc方法 展开 折叠   4.加载视图的方法  

  5. maven+spring mvc初尝试

    只是一个可以运行的例子,俺们来看看. 目录结构: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...

  6. 第23章 Spring MVC初体验

    23.1 鸟瞰Spring MVC 粗略的介绍了SpringMVC的主要组成部分,SpringMVC作为一个Web层的框架,最大的作用是把我从繁重的web.xml文件编写中解救出来,再也不要不停的添加 ...

  7. MVC – 4.mvc初体验(2)

    5.显示学员列表 效果 数据表 5.1 首先,在文件夹Models新建一个新建项(W),选择ADO.NET 实体数据模型 (SingleTest.edmx) 5.2 建一个控制器,StudentsCo ...

  8. MVC – 4.mvc初体验(1)

    1.MVC请求模式 2.MVC简单请求流程图 展开 折叠 3.返回string的mvc方法 展开 折叠 4.加载视图的方法

  9. ASP.NET MVC学习---(五)MVC初体验

    经过之前n多的铺垫 我们已经大概了解了这个姓m名vc的家伙了 那么今天我们就来体验一把 怎么体验呢? 就来做一个小例子吧~ mvc增删改查的例子 数据库还是之前我们的老朋友 关系图: 表中的数据已填好 ...

  10. ASP.NET MVC学习---(四)MVC初窥

    前面三篇大幅度的介绍了EF框架 这并不是没有道理的 现在使用mvc开发一般都离不开ef 因为它们相结合可以为你带来完美的体验 当然 前面所描述的仅仅是ef框架的冰山一角 它是一门学问很深的功课 如果你 ...

随机推荐

  1. Python之面向对象:方法

    一.类的三种方法 1.实例方法 def func(self): 由对象调用:至少一个self参数:执行普通方法时,自动将调用该方法的对象赋值给self: 只能通过实例调用   2.静态方法 @stat ...

  2. 【ZOJ4060】 Flippy Sequence(规律)

    题意:给定两个长度为n的01序列A和B,要求分别从两个序列中取两段将段中数字取反,使得A和B完全相同,求方案数 n<=1e6,sum(n)<=1e7 思路:现场8Y…… 将A和B异或之后问 ...

  3. C#.NET中使用存储过程的方法及其优点

    原文发布时间为:2008-09-26 -- 来源于本人的百度文章 [由搬家工具导入] 一.使用存储过程的优点    作为服务器端的代码,存储过程具有以下优点:1) 存储过程是预先编译过的,是执行查询或 ...

  4. 反射的基本使用以及原理(Class获取方式)

    1.什么是反射技术? 动态获取指定类以及类中的内容(成员),并运行其内容. 应用程序已经运行,无法在其中进行new对象的建立,就无法使用对象.这时可以根据配置文件的类全名去找对应的字节码文件,并加载进 ...

  5. unbuntu 矫正电脑系统时间

    sudo tzconfig,如果命令不存在请使用 dpkg-reconfigure tzdata

  6. Linux 环境下安装配置 TigerVNC Server 并启用当前会话远程服务(X0VNC)

    曾经喜欢用 RealVNC Server 实现 Linux/Windows 的远程控制,因为 RealVNC 为收费商业软件,支持文件传输,性能优化方面也做得不错.但 RealVNC 从 5.0 版本 ...

  7. SVG描边动画实现过程

    准备工具:Adobe AI+PS 1.确定SVG画布的大小,在PS中切出需要描边效果的区域,以此区域的大小做为SVG容器的大小.   2.将PS中切好的图片直接拖拽到AI中     3.使用AI中的钢 ...

  8. my.ini配置详解

    Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM ...

  9. ZSTU 4248 KI的目标(dfs)

    KI的目标 Time Limit: 2 Sec  Memory Limit: 128 MB                                                        ...

  10. BZOJ 3672 NOI 2014 购票

    题面 Description 今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会. 全国的城市构成了一棵以SZ市为根的有根树,每个城市 ...