MVC初了解

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都有可比性,如今体会还不深刻。继续完好吧!

时间: 2024-10-15 01:12:31

MVC初了解的相关文章

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

经过之前n多的铺垫 我们已经大概了解了这个姓m名vc的家伙了 那么今天我们就来体验一把 怎么体验呢? 就来做一个小例子吧~ mvc增删改查的例子 数据库还是之前我们的老朋友 关系图: 表中的数据已填好 T_Users 将就着用着吧,哈哈 现在要求对T_Users表进行增删改查 开搞~ 回到之前新建的mvc项目 在Controllers文件夹下新建一个名为Home的空控制器 当浏览器请求Home下面的Index方法的时候返回什么? 当然是主页面啦 这里我们的主页面就是显示T_Users数据列表 代

MVC初认

初探MVC 何谓MVC 简单来说就是开发程序时所使用的一种“架构(框架)”.它就是开发的一种观念,或者说是存在已久的设计规则.我们知道在开发过程中总会伴随着需求.技术.客户.老板等因素的变化,给开发带来质量与维护上的伤害,这个事实也无法逃脱,而MVC就能化解这种伤害,至此它就成了一种有效的解决方案. MVC组成单元 Model:负责定义信息格式月信息访问的界面,包括商业逻辑与信息验证. View:负责用户界面相关呈现,包括输入与输出. Controller:负责控制系统的运行流程.跟浏览器的交互

谈谈MVC——MVC初印象

M.V.C之间有很强的关联性与独立性,看似矛盾的解释,却有十分奥妙的分工与合作关系. 彼此的关联性 以”常规的“MVC解释法,彼此的关系如图所示: Controller与View的关联性 在Controller与View的关联性上,彼此都是双向关系,但Controller的主动性较高. 当Controller为”主动“角色时: Controller可决定要显示哪一个View 当View为"主动”角色时: View可决定数据要送回到哪一个Controller的Action. 当View需要数据时,

MVC初体验-EF系列(CRUD)(20)

数据库数据:Northwind中的Region表 Region类是根据Region表自动生成的 后台代码: using System.Data.Entity; using System.Data.Entity.Migrations; using System.Linq; using System.Web.Mvc; using T1_EF.Models; namespace T1_EF.Controllers { public class RegionController : Controller

spring MVC 初使用

环境: myeclipse+tomcat8 1.在WebRoot下新建:web.xml: ____________________________________________________________________________________________________________________________________ <?xml version="1.0" encoding="UTF-8"?><web-app x

IOS学习笔记 -- 基础MVC初学习

1. @property的参数说明ARC是苹果为了简化程序员对内存的管理,推出的一套内存管理机制使用ARC机制,对象的申请和释放工作会在运行时,由编译器自动在代码中添加retain和release1> strong:强指针引用的对象,在生命周期内不会被系统释放 在OC中,对象默认都是强指针2> weak:弱指针引用的对象,系统会立即释放 弱指针可以指向其他已经被强指针引用的对象 @property参数使用小结:1> 控件用weak2> 属性对象用strong3> 非对象类型用

.Net Core MVC初学习

.net core已经出来很长一段时间了,没有很好的学习过,现在工作不那么忙了,参考官方文档,在这里记录自己的学习过程! ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且连接 Internet 的新式应用程序. 使用ASP.NET Core,可以:创建 Web 应用程序和服务.IoT 应用和移动后端.在 Windows.macOS 和 Linux 上使用喜爱的开发工具.部署到云或本地.在 .NET Core 或 .NET Framework 上运行. 为何使用 ASP.N

MVC初体验-Razor和HtmlHelper(4)

1 动态改变路由规则,HtmlHelper的 如果使用了路由器中的默认路由,那么在浏览器的URL不会显式显示Controller的名字和Action的名字 输出 布表单 总结:本人感觉除了路由引用的可以使用HtmlHelper方法 其余的像布表单.一些其他的不建议使用这种混编代码. 确实增加了维护难度,并且前后端耦合了. 视图的数据从哪来?从行为来 怎么从行为向视图传数据,通过ViewData中的键值对 ViewBag是ViewData的简写,使用起来完全一样,实际就是一种动态字典类型 使用时在

MVC初体验-过滤器(10)

主要有4中过滤器: 1.Authorization  身份验证过滤器 理解身份验证过滤器和无侵入式开发: 假如我这里有学生和教室两个对象,学生进入教室需要进行身份验证,如果在A学生上增加验证,那么在代码层面就构成了侵入式开发,需要修改学生A的代码,如果多了一个学生C,那么又需要继续增加验证代码,不合适: 如果在教室对象上增加身份验证代码,如果新增了教室D,那么身份验证又需要重写,同时也构成了侵入式开发: 所以最好的方案是不修改学生和教室,在它们中间加入一层中间验证,哪个教室需要身份验证,就给它加