zoukankan      html  css  js  c++  java
  • 【转】三层架构,MVC, ASP.net MVC的区别

    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技术的架构图

    总结:

     MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。

      同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。

      在三层架构中没有定义Controler的概念。这是我认为最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是已实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。

    个人认为最关键的一个区别是:

    三层架构是客户端浏览器向服务器请求了一个页面,服务器给返回整个页面;

     MVC嘛,是客户端调用了controller的的某一个action,action做出响应,返回内容。网上找的图1 是一个mvc的请求过程。

     

                                                图1  mvc的请求过程

     

     

  • 相关阅读:
    MYSQL数据丢失讨论【转】
    MySQL 5.6 新功能之 Index Condition Pushdown (ICP)
    MySQL Binlog 【ROW】和【STATEMENT】选择
    MySQL open_files_limit相关设置
    Python颜色输出和random的学习
    Python 之 【二进制、十进制、八进制、十六进制 】之间的转换【转】
    初识 MySQL 5.5 新功能、参数
    Oracle Inventory关键词解释
    plsql 输出当月的所有日期
    ORA29279: SMTP permanent error: 550 XXX@XX.com... No such user
  • 原文地址:https://www.cnblogs.com/alexzp/p/3395578.html
Copyright © 2011-2022 走看看