【架构设计】-MVC宏观总结

来源:互联网 发布:python 提取文件名 编辑:程序博客网 时间:2024/06/05 06:18

 在八月份的时候,我还以为MVC就是和DUB相对应呢.在这次学习ITOO框架的时候,再次接触到了MVCWCF,这次我是先学习的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的一些理解,有理解不当的地方,望读者指出!

1 0
原创粉丝点击