• 转载:正确认识WebForm与Asp.NET MVC


     

    转自:http://www.cnblogs.com/wlb/archive/2009/12/07/1618954.html

    1.传统WebForm开发中存在的一些问题

     传统的ASP.NET开发中,微软的开发团队为开发者设计了一个在可视化设计器中拖放控件,编写代码响应事件的快速开发环境。然而,它所带来的负面效应是: 

    •  由于控件封装了很多东西,开发者很难了解这背后的HTML是如何运作的
    • 容易得到一个包含大量ViewState的页面,使得页面尺寸远远超过所需的内容,使得页面的打开速度较慢
    • 不容易被测试

    2.什么是MVC?


     MVC(Model-View-Controller,模型-视图-控制器模式)是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

    3.什么是ASP.NET MVC?


    ASP.NET MVC是微软的开发团队基于MVC开发的一个易于被测试的框架。它具有以下特性:

    • 没有数据回传
    • 没有在页面中保存视图状态
    • 开发者可以完全掌控页面的呈现过程 
    • 易于单元测试
    • 易于测试驱动开发
    • 可扩展、可替换
    • 支持WebForm中的有关特性,如:用户控件、母版页、数据绑定、本地化等
    • 不在基于文件目录结构,而是将URL映射到控制器中

    4. 为什么使用ASP.NET MVC?

    • 易于进行单元测试
    • 易于进行测试驱动开发
    • 避免了WebForm中大量的ViewState导致页面文件变得臃肿

    5. MVC与三层架构?  

    • MVC是一种模式
    • ASP.NET MVC是一个基于MVC模式的开发框架
    • 三层架构是一种架构

    至于区别,可以严格的从概念上区分开来。

    下图是MVC与三层架构的对应关系

     


    6. MVC与Webform如何抉择?  

     

    7. 两种技术并存

    •  ASP.NET MVC框架只是给开发者提供欧了开发web应用程序的一种选择,并不是要取代Webform
    • 这两种技术各有优缺点,开发者需要根据实际情况,选择对应的技术
    • 有时候,可以在同一个项目中混合使用这两种技术

    8.ASP.NET MVC与Webform技术的架构图

     

    总结:
    看完本文,相信ASP.NET WebForm与ASP.NET MVC的选择相信大家应该可以做到心中有数了,我始终觉得,很多时候并不是什么技术好不好的问题,而是适合不适合不适合的问题或者能否把它用好的问题。
    打个比方:如果让千里马犁地,恐怕未必能达到理想的效果,最终可能还会抱怨,什么破马,一点劲都没有。

  • 相关阅读:
    一个你爱,一个爱你,你选择哪一个
    Flask 中的 SQLAlchemy 使用教程
    Flas-SQLAchemy数据库操作使用学习笔记
    Flask-SQLAlchemy获取一个字段里去掉重复的数据
    Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
    pycharm快捷键、常用设置、包管理
    [原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法
    Highcharts下载与使用_数据报表图
    Markdown入门指南-指间阁
    Sublime Text3 配置markdown插件
  • 原文地址:https://www.cnblogs.com/yangfan/p/1696580.html
Copyright © 2020-2023  润新知