zoukankan      html  css  js  c++  java
  • 三层架构与MVC的区别

    肯定也有很多人困惑这个问题,于是在网上就搜索了一些相关文章

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

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

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

     

    ------------------------------------------------------------

     

      三层架构是最基本的项目分层结果,而MVC则是三层架构的一个变体,MVC是一种好的开发模式。首先你要明白MVC分别代表的是什么意思.
    M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
    V 即View(视图层),主要用于显示数据和提交数据
    C 即Controller(控制器),主要是用作捕获请求并控制请求转发

          三层:UI 界面层 BLL 业务逻辑层,DAL数据访问层,Model 实体层
    MVC中的的M 不是三层中的Model(实体层),他其实包括三层中的 BLL,DAL,Model,这是非常要注意的,这也是他们之间的区别的关键所在

    其有点有如下:
    低耦合性
    高重用性和可适用性
    较低的生命周期成本
    快速的部署
    可维护性
    有利于软件工程化管理

    当然优点也有缺点,那就是内部结构复杂,不容易理解,文件数量大,管理难度自然也就大

     

     

     

     

    MVC设计模式…
    三层架构…
    他们细分之后得到的是:View(UI)、BIZ(BLL)、DAO(DAL)、Entity(Model)、Controller
    MVC把 BIZ(BLL)、DAO(DAL)、Model(Entity) 统一称之为 模型(MODEL),得到:View、Controller、模型(MODEL)
    三层 在我使用中 暂未体会到控制器的存在,完全是:UI、DAO、BLL

    他们相同的设计理念就是:把视图设计与数据持久化进行分离,从而降低耦合性,易于扩展,提高团队开发效率。

     

     

     

    三层是基于业务逻辑来分的,而mvc是基于页面来分的
    根本就没有什么可比性。
    其实两个一起用我感觉很好

     

     

     

    MVC模式是一种复合设计模式,一种解决方案
    三层是种软件架构,通过接口实现编程
    三层模式是体系结构模式,MVC是设计模式
    三层模式又可归于部署模式,MVC可归于表示模式

     

     

     

    ------------------------------------------------------------

     

     

    ASP.NET MVC 与 WebForm 三层架构 区别

    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模式的开发框架
    三层架构是一种架构

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

     

  • 相关阅读:
    python高级特性和高阶函数
    代理模式及案例
    我的报错错误记录
    摘抄-编码规范
    测试java的Lambda语法
    测试IDEA将新建项目提交到github上
    js处理科学计数法
    测试java操作运算符
    java根据模板生成,导出word和pdf(aspose.words实现word转换pdf)
    sqlserver日期函数
  • 原文地址:https://www.cnblogs.com/ahwwmb/p/2679196.html
Copyright © 2011-2022 走看看