• 初步理解MVC


    一、Asp.net WebForms 与Asp.net MVC 概念

    Asp.net是创建WEB应用的框架,MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系。

    我们可将原来的Asp.net称为 Asp.net WebForms,新的MVC称为Asp.net MVC。

    二、Asp.net存在的问题

    为什么微软还要推出Asp.net MVC?主要是因为Asp.net WebForm的性能问题。在Web应用程序中从两方面来定义性能:

    1.响应时间:服务器响应请求的耗时

    2.带宽消耗:同时可传输多少数据。

    响应时间

    WebForm因为采用服务器控件,每次请求都有转换逻辑,运行并转换服务器控件为HTML输出。如果使用一些复杂的控件,转换就会变的糟糕并且复杂,HTML的输出也是复杂的。由于不必要的转换从而增加了响应时间。所以该问题的解决方案就是摆脱后台代码(服务器控件),写成纯HTML代码。

    带宽消耗

    ASP.NET开发人员都非常熟悉Viewstates,因为它能够自动保存post返回的状态,减少开发时间。但是这种开发时间的减少会带来巨大的消耗,Viewstate增加了页面的大小。在做的加载测试中,与MVC 对比,我们发现Viewstate增加了两倍的页面存储。

    页面尺寸的增加是因为viewstate产生了额外的字节。

    1、HTML消耗

    2、后台代码类的重用性

    3、单元测试(既然无法实例化后台代码类,单元测试也是非常困难的,也无法执行自动化测试。必须手动测试。)

    解决方案:

    就是我们需要将后台代码迁移到独立的简单的类库,并且摆脱Asp.net服务器控件,使用HTML。

    MVC是如何弥补WebForm存在的问题

    先来看一张图:

    Asp.Net MVC 由Model,View,Controller三部分组成。Controller中包含后台代码逻辑,View是ASPX,如纯HTML代码,Model是中间层。通过上图可获得这三部分的关系。

    所以MVC的改变有两点,View变成简单的HTML,后台代码移到简单的.Net类中,称为控制器。

    以下是Asp.net MVC 请求的通用步骤:

    (1)首先获取控制器。

    (2)依赖行为控制器创建Model对象,Model通过转换调用数据访问层。

    (3)数据填充Model后,传递到View显示层,实现显示的目的。

    为什么使用ASP.NET MVC?
    易于进行单元测试
    易于进行测试驱动开发
    避免了WebForm中大量的ViewState导致页面文件变得臃肿

  • 相关阅读:
    MyEclipse Tern was unable to complete your request in time
    12.5.2 访问被覆盖的方法
    猎头、培训与咨询的价值(2)【补1】——北漂18年(93)
    12.5.1 通过 @ISA 继承
    从柯洁对战AlphaGo,看商业智能
    jquery ajax POST 例子详解
    利用组合索引优化
    Oracle range 分区表
    Perl 面向对象上
    JSON导出CSV中文乱码解决方案
  • 原文地址:https://www.cnblogs.com/ck168/p/5502209.html
Copyright © 2020-2023  润新知