【架构设计】-MVC宏观总结
2016-01-10 22:11
726 查看
在八月份的时候,我还以为MVC就是和DUB相对应呢.在这次学习ITOO框架的时候,再次接触到了MVC和WCF,这次我是先学习的MVC,先把MVC理清楚了,再来理WCF.
那5个月后,再次理解MVC,发生了哪些变化呢?
我们首先来看MVC全称——Model
View Controller
Model:主要与数据库打交道,是对数据库进行存取操作。
View:用来显示界面
Controller:控制用户的输入与输出
下面是我做的W3C上的一个小例子,暂时还没有涉及到数据库,也就涉及不到Model层的东西。
这次我是从程序的入口点(也就是Global.asax文件)开始进行调试,一步步查看MVC框架是如何执行的。
程序的入口点:Global.asax
在这个例子中的调用就相当于是:程序运行——Controller——View——用户——用户输入——Controller——View
一、程序运行
第一步:注册路由
public static voidRegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//对所有的axd资源进行忽略,直接进行URL访问
//添加一个路由映射
routes.MapRoute(
"Default", //
路由名称
"{controller}/{action}/{id}", //
带有参数的 URL
new
{
controller ="Home",
action = "Index",
id = UrlParameter.Optional
} //
参数默认值
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
解析:MVC中的路由主要就是
匹配传入的请求,将这些请求映射到控制器操作,构造传出的URL用来响应控制器中的操作。如想了解更多关于MVC路由机制的知识,请移步到此篇博客:《MVC路由机制详解》
第二步:调转到Controller
public ActionResult Index()
{
return View();
}
第三步:显示页面(View)
_Viewstart.cshtml——要显示的页面——_Layout.cshtml
Viewstart.cshtml
其实就相当于程序的入口点一样,它是页面的一个入口点,每次显示页面都要先调用它,因为里面写的内容是:Layout母版页的地址,也就是公共的页面布局的东西。
要显示的页面:加载页面的时候,总是先调用要显示的页面,然后再去调用公共的部分,最后显示出我们想要的界面。
在viewstart和要显示的页面内容,没有什么好讲解的,如果想多了解一些关于Layout的知识,请移步到此篇博客《MVC中的layout讲解》
二、切换页面
首先调用的是Controller里面的方法,然后再是显示页面的那一套,执行顺序ViewStart——要显示的页面下的内容——Layout
总结:
以上就是MVC(无Model层)的一个简单执行过程,这也是刚刚开始接触MVC的一些理解,有理解不当的地方,望读者指出!
那5个月后,再次理解MVC,发生了哪些变化呢?
我们首先来看MVC全称——Model
View Controller
Model:主要与数据库打交道,是对数据库进行存取操作。
View:用来显示界面
Controller:控制用户的输入与输出
下面是我做的W3C上的一个小例子,暂时还没有涉及到数据库,也就涉及不到Model层的东西。
这次我是从程序的入口点(也就是Global.asax文件)开始进行调试,一步步查看MVC框架是如何执行的。
程序的入口点:Global.asax
在这个例子中的调用就相当于是:程序运行——Controller——View——用户——用户输入——Controller——View
一、程序运行
第一步:注册路由
public static voidRegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//对所有的axd资源进行忽略,直接进行URL访问
//添加一个路由映射
routes.MapRoute(
"Default", //
路由名称
"{controller}/{action}/{id}", //
带有参数的 URL
new
{
controller ="Home",
action = "Index",
id = UrlParameter.Optional
} //
参数默认值
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
解析:MVC中的路由主要就是
匹配传入的请求,将这些请求映射到控制器操作,构造传出的URL用来响应控制器中的操作。如想了解更多关于MVC路由机制的知识,请移步到此篇博客:《MVC路由机制详解》
第二步:调转到Controller
public ActionResult Index()
{
return View();
}
第三步:显示页面(View)
_Viewstart.cshtml——要显示的页面——_Layout.cshtml
Viewstart.cshtml
其实就相当于程序的入口点一样,它是页面的一个入口点,每次显示页面都要先调用它,因为里面写的内容是:Layout母版页的地址,也就是公共的页面布局的东西。
要显示的页面:加载页面的时候,总是先调用要显示的页面,然后再去调用公共的部分,最后显示出我们想要的界面。
在viewstart和要显示的页面内容,没有什么好讲解的,如果想多了解一些关于Layout的知识,请移步到此篇博客《MVC中的layout讲解》
二、切换页面
首先调用的是Controller里面的方法,然后再是显示页面的那一套,执行顺序ViewStart——要显示的页面下的内容——Layout
总结:
以上就是MVC(无Model层)的一个简单执行过程,这也是刚刚开始接触MVC的一些理解,有理解不当的地方,望读者指出!
相关文章推荐
- C#网站部署后提示App_Code.w3o10pfm.dll拒绝访问
- storm系统架构学习
- Fast Rcnn 主要架构
- 实践干货!猿题库 iOS 客户端架构设计
- 最近很不爽啊,做个个人网站处处不顺心
- 【转载】秒杀系统架构分析与实战
- BIND:DNS主从服务器架构和安全控制详解
- LaTeX简历模板网站
- 不错的博客和工具网站
- 【架构】架构没你想的那么难之三层架构
- 大型网站系统架构演化之路
- 自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变
- 从Hadoop到Spark的架构实践
- 开发人员应该知道的一些网站(转)
- 什么叫软件架构师(转)
- 软件架构师的职责(转)
- teradata体系架构简介
- 实践干货!猿题库 iOS 客户端架构设计
- 网站无法登陆
- Spark on Yarn 架构解析