我眼中的ASP.NET.MVC

时间:2024-01-24 08:45:38

 

MVC

MVC全名 : Model View Controller ( Model-模型 View-视图  Controller-控制器,是一种经典的,经久不衰的,屹立不倒的软件设计典范)。实现了业务逻辑、数据、界面显示的分离。

         

        

                     

 

 

 Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

  View(视图)       是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

Controller(控制器) 是应用程序中处理用户交互的部分。通常负责从视图读取数据,控制用户输入,并向模型发送数据

一个完整的MVC运转流程 : 用户输入(通过浏览器发送请求)===》控制器(Controller)接收请求===》调用模型(Model)对输入的数据进行处理(存、取、改、删)并获取处理结果===》将结果数据传递到shitu(View)===>展示给用户。

 

 MVC的优点:耦合性低:视图层与业务层分离。这样在更改视图时,可以极少的更改业务层的代码,反之亦然。如:迁移数据库 oracle迁移到 sql server中,只需改变模型既然可。

                          重用性高:mvc模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型

                          可维护性高:分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

                有利于软件工程化管理   :      由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码

 

 

 

ASP.NET.MVC  

  先看看微软给ASP.NET.MVC的定义   

               MVC is a design pattern used to decouple user-interface (view), data (model), and application logic (controller). This pattern helps to achieve separation of concerns.

    Using the MVC pattern for websites, requests are routed to a Controller which is responsible for working with the Model to perform actions and/or retrieve data. The Controller chooses the View to display, and provides it with the Model. The View renders the final page, based on the data in the Model.

  翻译过来就是 :

    MVC是一种用于解耦用户界面(视图),数据(模型)和应用程序逻辑(控制器)的设计模式。 这种模式有助于实现关注点的分离。
    使用网站的MVC模式,请求被路由到控制器,该控制器负责与模型一起执行操作和/或检索数据。 控制器选择要显示的视图,并为其提供模型。 视图根据模型中的数据呈现最终页面。
 
    弄几张图片有助于理解:
 
 
            
 
         在我们的项目中,View部分是Index.cshtml与About.cshtml等等了   
 
 
 
 
   
                                          

    这一图片非常生动而且完整的体现了一个基于ASP.NET.MVC的框架平台代码架构:一般在程序中,会将Model层再进行一次分层,包括 Model层===>BLL层(业务层)===>DAL(数据库处理层),非常完美。

 

    感觉ASP.NET.MVC是基于MVC的基础上,结合.net平台,微软为.net程序员量身定做的吧,很经典的框架,很有思想,这样的框架又怎么会过时呢?