项目也做了一段时间了,该是时候对自己新认识到的东西总结一下了,界面使用的技术是MVC+EasyUI,对我来说这完全是一个新的概念,从陌生到使用它来显示数据,是一个艰苦的过程。先来聊聊我对MVC的认识过程吧。
一、什么是MVC
MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。整体来说MVC起到一个分层的作用,分层就想到我们熟悉的三层,是把业务逻辑和数据分开。而MVC是把界面的展现部分和实现部分分开。因为我们在做软件时总是要靠近面向对象的,把容易变动的部分抽出来,达到解耦的目的。
在Web开发中,界面是容易变动的,当用户提出新的需求时,如果界面的展现和后台连在一起那就要大动干戈的改动,所以把容易变动的界面抽出来,这也体现了设计模式的原则。
在MVC中:
M:Model,负责程序的业务代码和对数据操作的代码,
V:Views,负责界面的展现和用户的输入输出,
C:Controller,连接Model和Views的桥梁是Controller,里面是Views与用户的交互逻辑。
二、MVC初体验
在看完一遍视频之后,总体有了个概念。
1、MVC和WebForm的不同。
WebForm将代码和实现分离:
当我们请求一个URL时,WebForm程序会到网站根目录先去寻找aspx文件,然后由它的页面的后台代码进行逻辑处理,然后由aspx页面展现给用户。
MVC的工作过程:
三、项目中实践
为了做例子,使用的假数据显示到页面上。
Controller中:
<span style="font-size:14px;">public ActionResult FlowConfig() { return View(); } /// 假数据 /// </summary> /// <returns></returns> public List<FreshFlowEntity> FalseData() { List<FreshFlowEntity> listFlow = new List<FreshFlowEntity>(); FreshFlowEntity ffe = new FreshFlowEntity(); ffe.FlowID = "1"; ffe.IsUse = 1; ffe.Name = "1"; ffe.Sort = 1; ffe.Url = "1"; listFlow.Add(ffe); return listFlow; } public JsonResult getJson() { List<FreshFlowEntity> listFlow = new List<FreshFlowEntity>(); FreshFlowEntity ffe = new FreshFlowEntity(); ffe.FlowID = "1"; ffe.IsUse = 1; ffe.Name = "1"; ffe.Sort = 1; ffe.Url = "1"; listFlow.Add(ffe); return Json(listFlow, JsonRequestBehavior.AllowGet); }</span><span style="font-size:18px;"> </span>
View显示所有流程,通过DataGrid的url
<span style="font-size:14px;">@*DataGrid*@ <table id="dg" class="easyui-datagrid" title="流程配置" style="width: 732px; height: 200px;" data-options="rownumbers:true,singleSelect:true,pagination:true,url:'/FlowConfig/getJson'"> <thead> <tr> <th data-options="field:'FlowID',width:80">编号</th> <th data-options="field:'Name',width:150">流程名称</th> <th data-options="field:'coursename',width:150">优先级</th> <th data-options="field:'coursetype',width:170">状态</th> <th data-options="field:'assessstatus',width:150">操作</th> </tr> </thead> </table> </span>
对MVC的理解还很欠缺,还需要更深刻的体验和实践,这次的项目前台就是用的MVC+EasyUI,一开始很抵触,但是随着慢慢的熟悉,也开始慢慢的习惯它,去学习它……要走的路还很远,come on…