MVC——studying
2015-07-31 22:22
190 查看
今天把MVC学习了一下,学习主要是从两个方面入手的,一个是基础知识的学习,另一个方面是从demo方面来学习了,通过写一个简单的demo来认识一个知识,在实践中学到更多的知识。学习的时候从这四个方面开始入手的:
①什么是
②什么时候用
③怎么用
④优缺点
首先新建一个新的MVC 的web application
建好以后是这个样子的:
然后开始我们的编程之路——
controllers层:
views层:
展示一下成果吧!
重用性高
生命周期成本低
部署快
可维护性高
有利软件工程化管理
缺点:
没有明确的定义
不适合小型,中等规模的应用程序
增加系统结构和实现的复杂性
视图与控制器间的过于紧密的连接
视图对模型数据的低效率访问
一般高级的界面工具或构造器不支持模式
①什么是
②什么时候用
③怎么用
④优缺点
一、什么是MVC
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。二、什么时候用
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。三、怎么用
如何使用,在这里通过一个简单的demo来学习首先新建一个新的MVC 的web application
建好以后是这个样子的:
然后开始我们的编程之路——
controllers层:
using MVCStudy.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MVCStudy.Controllers { //1、控制器类(继承controller) public class HomeController : Controller { #region 0.1初始化数据集合+void InitData() //创建一个数据集合(伪数据) List<Models.Dog> list = null; /// <summary> /// 初始化数据集合 /// </summary> public List<Models.Dog> InitData() { list = new List<Models.Dog>(){ new Dog (){ID =1,Name ="小样~~"}, new Dog (){ID=1,Name ="小样~~"}, new Dog (){ID =1,Name ="小样~~"}, new Dog (){ID=1,Name ="小样~~"} }; return list ; } #endregion // GET: /Home/ //2、action方法(可以看做是MVC设计模式的MOdel) public ActionResult Index() { System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(4000); //2.1处理当前业务(比如读取数据库,判断等) //2.1.1创建一个数据集合(伪数据),获取数据 List<Models.Dog >list=InitData (); //2.1.2遍历集合,生成html代码,存入sbHtml list .ForEach (d=>{ sbHtml.AppendLine("<div>" + d.ToString() + "</div>"); }); //2.2使用viewBag传输数据给同名index.cshtml视图 //viewbag是一个dynamic类型集合,可以动态添加任意类型的任意名称的属性和值 ViewBag.HtmlStr = sbHtml.ToString(); //2.3加载同名视图index.cshtml return View(); } } }
views层:
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> <!-- 默认razor视图会将从后台输出的字符串里包含的<转义成< 为了不转义,使用raw方法,来输出html标签源码! 相当于把action方法中保存的内容,放在此处输出!--> @Html.Raw(ViewBag.HtmlStr) </div> </body> </html>
展示一下成果吧!
四、优缺点
优点:
耦合性低重用性高
生命周期成本低
部署快
可维护性高
有利软件工程化管理
缺点:
没有明确的定义
不适合小型,中等规模的应用程序
增加系统结构和实现的复杂性
视图与控制器间的过于紧密的连接
视图对模型数据的低效率访问
一般高级的界面工具或构造器不支持模式
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET MVC中将控制器分离到类库的实现
- asp.net实现在非MVC中使用Razor模板引擎的方法
- ASP.NET MVC中的AJAX应用
- 如何在MVC应用程序中使用Jquery
- ASP.NET MVC小结之基础篇(二)
- ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)
- Asp.net实现MVC处理文件的上传下载功能实例教程
- ASP.NET MVC小结之基础篇(一)
- Flex中最好的MVC框架Mate框架
- ASP.NET MVC学习笔记
- 关于php mvc开发模式的感想
- php打造属于自己的MVC框架
- 使用ASP.NET MVC 4 Async Action+jQuery实现消息通知机制的实现代码
- mvc下,3种窗口弹出设置的方法
- ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法
- PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
- JSP开发中在spring mvc项目中实现登录账号单浏览器登录