在学习SSH过程中总是会遇到这样的问题:MVC和三层架构是不是一个概念?肯定的说,他两就不是一个概念。所以就总结了一下自己的看法。可能会有理解错误的地方,希望可以交流交流。

二者混淆的原因

二者都是表现出了“三层”结构的思想,对于初学者而言,容易理解错。

二者在项目的构建过程中都会使用到。

二者的使用都是为了实现低耦合高内聚的目标。

二者概念不同

MVC是一种设计模式,百度定义是:是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
三层架构,通常意义上的三层架构就是将整个业务应用划分为:表现层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚,低耦合”的思想。
那么架构跟设计模式有什么区别呢?
从一个项目开始,首先,我们需要进行架构设计,一般我们采用的就是分层式的架构设计,即我们的三层架构。然后,在确定了架构以后,我们再根据项目的具体需求去考虑是否需要应用一些设计模式,比如是否应用我们的MVC模式。

二者划分层次不同

三层架构将项目划分为表现层、业务逻辑层、数据访问层三层。

MVC即为模型(Model)、视图(View)、控制器(Controller)。

同样是三层结构但是他们的对应关系并不是一一对应的,他们的关系应该是:控制器和视图构成表现层,而模型又划分为业务逻辑层和数据访问层。比如Struts就在SSH框架中担当了表现层的角色,它负责调用业务逻辑和视图的跳转和渲染。

二者使用范围不同

MVC设计模式是一种设计创建WEB应用程序的模式。主要应用于web项目中。

三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。

SSH学习之MVC和三层架构的区别相关推荐

  1. MVC与三层架构的区别

    MVC Model  模型 Viwe   视图 Controller  控制器 三层 UI   表示层 BLL  业务逻辑层 DAL  数据访问层 mvc是一种设计模式,三层架构是一种架构,两者木有可 ...

  2. JavaWeb——MVC与三层架构

    文章目录 JavaWeb--MVC与三层架构 1.三层架构 2.MVC 3.MVC与三层架构的对应联系 4.MVC与三层架构的区别 JavaWeb--MVC与三层架构 1.三层架构 三层架构 (3-t ...

  3. MVC与三层架构理解

    文章目录 1. JSP的发展 2. MVC思想 优缺点 3. 三层架构 为什么使用三层 三层优缺点 4. MVC与三层架构的区别 1. JSP的发展 早期只有Servlet,只能使用response输 ...

  4. 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC

    阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...

  5. MVC模式与三层架构的区别

    MVC模式与三层架构的区别 原文地址:http://www.cnblogs.com/yourshj/p/5197310.html 之前总是混淆MVC表现模式和三层架构模式,为此记录下. 三层架构和MV ...

  6. MVC与三层架构区别

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. ...

  7. MVC与三层架构的联系及三层架构实现学生注册功能

    MVC与三层架构的联系及三层架构实现学生注册功能 三层架构的逻辑关系: MVC和三层架构的联系: 三层架构实现学生注册功能的逻辑: 学生注册页面: 输入学生信息: 完成学生注册: 代码实现: add. ...

  8. 关于MVC与三层架构

    我认为MVC设计模式,关键在于构建Model,Model就是MVC模式的灵魂,他包含了三层架构里面的 "实体规范层"."行为规则层"."数据访问层&q ...

  9. MVC与三层架构模型笔记

    文章目录 1. MVC 1.1 什么是MVC 1.2 为什么需要MVC 2. 项目的三层架构 2.1 表现层 User Interface layer 2.2 业务逻辑层 Business Logic ...

  10. 浅谈 MVC与三层架构

    引言: 使用Eclipse开发工具写Java Web项目时会发现,一个中型或者大型项目 随着代码的增多,会发现:代码既可以写在src目录下,也可以写在WebContent目录下.src下可以建很多包 ...

最新文章

  1. Docker基础之九: 管理容器的数据
  2. UA MATH563 概率论的数学基础 鞅论初步5 鞅的定义
  3. Python除了人工智能,还能从事哪些工作?
  4. linux脚本运行错误:$'ls\r': command not found
  5. B站QUIC实践之路
  6. Java.lang.Boolean类
  7. leetcode131. 分割回文串
  8. 国内一些大公司的开源项目
  9. 理论基础 —— 排序 —— 希尔排序
  10. (28)css3 3D转换
  11. go语言环境搭建及vim高亮设置
  12. 浙江大学黄杨思博计算机学院,浙江大学2010-2011学年大学生学科竞赛获奖名单
  13. erp软件涉及哪些计算机技术?,ERP软件应该学习哪些内容?
  14. 在excel中如何筛选重复数据_如何将Excel重复数据筛选出来?简单技巧有三种!...
  15. f2fs存储结构初探
  16. python——字符串练习:句子反转(小米笔试题)
  17. 坐标上海,我看见这群开发者用热爱改变世界
  18. 做个男人,做个成熟的男人
  19. python离线安装selenium_python34怎么离线安装selenium
  20. NLPCC2019 - User-Characteristic Enhanced Model for Fake News Detection in Social Media

热门文章

  1. Java虚拟机(JVM)你只要看这一篇就够了!
  2. java虚拟机之内存模型
  3. 使用Java生成PDF文件
  4. NeatUpload——支持大文件上传的控件
  5. java html报表设置_快逸报表中html事件属性的使用
  6. 服装商品销售数据分析
  7. 计算机体系结构及组成原理
  8. R初学者指南pdf 百度云盘
  9. win10 调整字体大小
  10. win10计算机管理字体糊,完美解决:Win10系统字体模糊解决教程