强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan
是什么?
MVC全名是Model View Controller,是模型----视图---控制器的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 ----摘自百度百科
历史发展?
好的架构都是一步步优化而来的,MVC也不例外,从MVC1到现在的MVC5,从未停止过创新与优化!
MVC1:用户操作View界面,View接收用户的数据,然后传递到Controller,Controller统一处理,经过更新的Model通知View界面。此类型用在桌面应用程序上。
MVC2:View接收用户的输入,然后传递到Controller统一处理,经过处理的Model更新后,Controller选择一个View,将Model传递给这个View,View将信息进行显示。该中类型主要应用在Web应用程序中。
MVC3:在前两者的基础上,MVC3带来了一种视图——Razor视图引擎,语法更加的简单了,习惯了.Net开发的程序猿一定非常习惯点出属性或方法来,正是有了Razor视图引擎,其语法类似于C#和VB.Net,相信一大波程序猿们都在偷着笑了吧。
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<p>
@ServerInfo.GetHtml()
</p>
MVC4:在前者的基础上添加了WebAPI。
MVC5:在前者的基础上提供更有弹性的会员认证系统。
MVC与三层架构相比?
相信大多数人都知道三层架构包括表示层、逻辑处理层、数据层。MVC分别代表什么在开篇就已提及。
1.两者的作用都可以解耦。
2.两者中都包括Model,那么,这两个Model表示的是同一种含义吗?答案是否定的,三层中的Model代表实体层,而MVC中的Model代表要处理的业务代码和数据操作。
3.三层架构中的表示层是和用户交互,逻辑处理层是处理业务逻辑,数据层主要是和数据库打交道。相比而言,在小编看来MVC可以看做是三层中的表示层。
MVC有什么优点?
1.从服务端到浏览器层层解耦
2.分工明确
3.有利于标准化
4.前后台分离,更加灵活