美文网首页
三层架构与MVC简单区分

三层架构与MVC简单区分

作者: jayafs | 来源:发表于2017-06-27 09:27 被阅读0次

我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念。

首先,它俩根本不是一个概念。

  • 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。
  • MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。
  • 那么架构跟设计模式有什么区别呢?
  • 我们从接手一个项目开始,首先,我们需要进行架构设计,一般我们采用的就是分层式的架构设计,即我们的三层架构。
      然后,在确定了架构以后,我们再根据项目的具体需求去考虑是否需要应用一些设计模式,比如是否应用我们的MVC模式,抽象工厂模式等等。(在这里我们看出,MVC与三层架构不是一个等级的,而与抽象工厂等设计模式才是一路的)
      最后,确定了模式以后,就是我们的一些具体的实现了。(当然一个项目不仅仅考虑这些问题,我只是为了说明两者的区别,将其他问题已省略)
    其次,它俩划分的层次不同。
      三层架构将整个项目划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
      MVC 即Model(模型),View(视图),Controller(控制)。
      下面看一下他俩的区别与联系:



      通过这个图我们可以知道,我们平常所说的V是UI,C是BLL,M是DAL的观点是错误的。
      而我们通常所见到的MVC一般也都是在应用三层架构的基础上,即将Model层再进行分层。而如果Model不再进行划分的话,那么使用MVC的意义也就不大了。

然后,它俩的目的着重点不同。

三层架构的目的着重点是“高内聚,低耦合”,即解耦。
  MVC的目的则是实现Web系统的职能分工,即职责划分。
  其实职责划分也是解耦,但是三层侧重的是整体的一个解耦,而MVC侧重的是web系统的解耦,即侧重jsp和Servlet的一个解耦。

最后,为何我们会将其混为一谈?

既然两者有这么多的不同,我们为什么还总是将其混淆呢,下面我列举了几个我们常常将其混为一谈的几个原因:
  1.二者都是“三层”。
  这个原因是最容易迷惑我们初学者的,一个是UI,BLL,DAL,一个是View,Controller,Model,不都是三层吗?
  虽然都是“三层”(不一定是真的三层,还可以是多层),但是它们的划分的不一样。大家可从上面的图中看出不同。
  2.MVC总是伴随着三层架构。
  这个就是我在前面一再强调的,我们一般是在考虑使用(也可以不使用)了三层架构的基础上再根据具体需求决定是否需要使用MVC,于是我们常说的MVC中总是伴随着三层架构,所以大家总是会认为MVC就是三层架构,三层架构就是MVC,殊不知,它们二者是一起出现的。
  3.都是在分层,即都是在解耦。
  前面说它们目的的时候也说了,虽然它们的侧重点不同,但是它们的总体目的是一样的,都是为了解耦,对于初学者而言,是不知道这两个侧重点有何不同的。

相关文章

  • 三层架构与MVC简单区分

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念。 首先,它俩根本不是一个概念。 三层架构是一个分...

  • MVC与三层架构

    MVC与三层架构 系统架构 系统架构是指,整合应用系统程序大的结构。经常提到的系统结构有两种: 三层架构 MVC ...

  • 第3章 初识MVC——ASP.NET MVC企业级实战

    目录: 3.1 MVC简介与三层架构 3.2 第一个ASP.NET MVC 程序 3.3 简单了解Razor视...

  • JavaWeb之MVC三层架构

    十、MVC三层架构 目录:早期开发、MVC三层架构什么是MVC:Model View Controller 模型、...

  • Spring MVC高级框架

    Spring MVC应用 Spring MVC介绍 MVC体系结构 三层架构在B/S架构中,系统标准的三层架构包括...

  • 2017.09.21

    一直以为 MVC 和三层架构是同一个东西,直到今天才明确的知道:MVC 是 MVC,三层架构是三层架构, 它们之间...

  • mvc+三层架构

    三层架构 mvc

  • MVC设计模式

    JSP开发模式JSP开发模式 三层架构&MVC 的关系三层架构&MVC 的关系 使用MVC设计模式完成 学生信息管...

  • 《ASP.NET MVC 企业级实战》阅读笔记初识MVC

    3.1 MVC简介与三层架构 3.1.1 MVC简介 MVC模型[model]: 实现系统中的业务逻辑,主要是存储...

  • 7、MVC模式与三层架构

    MVC设计模型 三层架构

网友评论

      本文标题:三层架构与MVC简单区分

      本文链接:https://www.haomeiwen.com/subject/rkbscxtx.html