zoukankan      html  css  js  c++  java
  • 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照

        近期在开发小组在研究:BS项目中是利用‘MVC框架’还是继续沿用‘三层’的问题。

        由于曾经的.NET项目大多数都是利用三层开发的,所以大多数人都可以对三层进行熟练地运用。而项目的開始我们也曾听说过MVC的概念,可是由于没有项目经验的原因,所以总是停留在理论层次的比較。

        在后期的DRP项目中,了解到Model1和Model2模型,而Model2模型就是MVC的应用。DRP中我们採用jsp做View层用于显示;Servlet做Controller用于取得表单參数、调用业务逻辑、转向页面;

        相同都是MVC的理念,在Java和.NET中却有着不同的实现方式。(不作为本文的重点)


        本文作为.NET MVC系列文章中的第一篇,主要用于介绍MVC与三层之间的关系,兴许博客将持续展开……

        MVC仅仅是一种思想,能够应用于各种平台。就是把一个应用程序分为三个组件,每一个组件都有对应的职责:视图View、控制器Controller、模型Model。

        MVC模式的两种理解:一种是表现模式(在ASP.NETMVC,Model理解为ViewModel),还有一种是架构模式(Model模式理解为业务逻辑层和数据訪问层的综合体)。这仅仅是我眼下初期阶段的理解。有不同见解的能够通过邮件或者评论的方式和我交流。


        M:Model。主要是存储或出具数据的组件。事实上就是实现业务逻辑层对实习类对应的操作,如:CRUD,它包含数据、验证规则、数据訪问、业务逻辑等应用程序信息。ViewModel:视图模型

        V:View。是用户接口层组件。将Model中的数据展示给用于。ASPX和ASCX文件被用来处理视图的职责。

        C:Controller。处理用户交互。从model中获取数据并将数据传给指定的view。

        接下来看一些MVC与三层之间千丝万缕的关系:

    从架构角度对照:MVC与三层


    MVC架构综合模型:MVC是怎么实现交互的?


    MVC架构综合模型的处理流程(对上图的更进一步解释):

    运行的流程:

        1. 用户请求到达控制器
        2. 控制器处理用户的交互数据,并调用业务逻辑层处理数据
        3. 业务逻辑层通过数据库訪问层对数据库做持久化处理
        4. 数据訪问层返回处理完后的数据
        5. 业务层把业务数据交给UI层的控制器
        6. 控制器把业务数据封装为ViewModel
        7. 控制器把ViewModel的数据交给View进行展示
        8. 视图把数据转成视图额呢绒交给用户浏览

        之前的项目大多都採用三层架构来实现,所以对三层的开发流程已经形成了较为清晰的认识。而对于三层与MVC之间的关系,也经常easy混淆开发者的视听,总有一种剪不断理还乱的感觉。

        相信经过本文的三张图形对照,您已经可以更加清晰地认识到了MVC架构以及MVC与三层之间的相应关系。接下来的任务就是通过项目实战加深MVC的理解了。

        (本文是建立在对三层了解的基础上进行论述的,对于三层部分的理解,这里不做过多赘述)


    通知:

    本文对于MVC的理解,局限于在三层项目经验的基础之上,对MVC的认识。

    文中存在误解,已经在下一篇博客中进行更正,欢迎您提出不同的论证观点,相互切磋。

          《【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照(颠覆性理论)


  • 相关阅读:
    CodeForces 734F Anton and School
    CodeForces 733F Drivers Dissatisfaction
    CodeForces 733C Epidemic in Monstropolis
    ZOJ 3498 Javabeans
    ZOJ 3497 Mistwald
    ZOJ 3495 Lego Bricks
    CodeForces 732F Tourist Reform
    CodeForces 732E Sockets
    CodeForces 731E Funny Game
    CodeForces 731D 80-th Level Archeology
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4274432.html
Copyright © 2011-2022 走看看