MVC & 三层架构

 三层架构将整个项目划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。

 MVC :即Model(模型),View(视图),Controller(控制)。

           我们通常所见到的MVC一般也都是在应用三层架构的基础上,即将Model层再进行分层。而如果Model不再进行划分的话,那么 使用MVC的意义也就不大了。

        三层架构的目的着重点是“高内聚,低耦合”,即解耦。

         MVC的目的则是实现Web系统的职能分工,即职责划分。 其实职责划分也是解耦,但是三层侧重的是整体的一个解耦,而MVC侧重的是web系统的解耦,即侧重jsp和Servlet的一个解耦。

          我们一般是在考虑使用(也可以不使用)了三层架构的基础上再根据具体需求决定是否需要使用MVC,于是我们常说的MVC中总    是伴随着三层架构,所以大家总是会认为MVC就是三层架构,三层架构就是MVC,殊不知,它们二者是一起出现的

  

        三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI/web层)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

 1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得;操作界面———搭好的积木

    2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。具体问题,具体分析——搭积木的方式。

 3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等——取出或者放回这些积木的动作。

  • 耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
  • 内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

流程:根据表现层,设计业务逻辑层——>搭建数据访问层

  表现层{

           业务逻辑层{

                           数据访问层{

                                            数据库

                              }

                }

    }

     从最内层开始设计并实现。

MVC模式:MVC 是 Model-View-Controller 的简称,即模型-视图-控制器。它属于设计模式的范畴,就如同其他设计模式一样,模式的出现就是为了对某种功能的优化,而MVC模式可以看做是对三层架构中表现层的一种细分优化。 

在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。

三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。

  三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。

  比如将数据库操作代码封装到一层中,提供一些方法根据参数直接返回用户需要的相应数据,这样在处理具体的业务逻辑的时候,就不用关心数据的存储问题了。
 

 之所以说MVC和三层毫无关系,是因为它们二者使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决BS应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

如果硬要给他们对应的话,那么三层架构中的UI对应MVC中的view(jsp),都是用于显示以及获取界面的数据;三层架构中的BLL层和DAL层对应MVC中的Model(javabean)层都是用于处理上层传递来的数据以及从数据库获取的数据的;MVC中的Controller(Servlet)最多算是三层架构中的UI的一部分,也就我们常说的是Servlet。
 

各模块解析
各模块定义 
模型(Model):封装的是数据源和所有基于对这些数据的操作。在一个组件中,Model往往表示组件的状态和操作状态的方法。
视图(View):封装的是对数据源Model的一种显示。一个模型可以由多个视图,而一个视图理论上也可以与不同的模型关联起来。
控制器(Control):封装的是外界作用于模型的操作。通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。一般Controller在Model和View之间起到了沟通的作用,处理用户在View上的输入,并转发给Model。这样Model和View两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由Controller连接起这两个部分。
各模块联系 !

 

 

 

 

 

 

 

 

加菲猫F
关注 关注
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC 三层架构
01-20
目录MVC 三层架构1. 分层简介2. 包目录结构3. 数据访问层4. 流程图5. 综合案例:用户信息列表展示a. 主要需求b. 需求分析c. 环境搭建i. 创建 web 项目② 导入第三方依赖 Jar 包(JSTL)③ 创建三层包目录结构d. 代码...
MVC
weixin_43739465的博客
11-20 890
什么是 MVC 模式 MVC,即 Model 模型、View 视图,及 Controller 控制器。 View:视图,为用户提供使用界面,与用户直接进行交互。 Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载 Bean,一类称为业务处理 Bean。所谓数据承载 Bean 是指实体类,专门用于承载业务数据的,如 Student、User 等...
MVC架构模式与三层架构
最新发布
????
01-26 852
详细解读了三层架构MVC以及两者之间的关系
MVC三层架构理解
热门推荐
iqqcode
03-19 7万+
1. JSP的发展 2. MVC思想 优缺点 3. 三层架构 为什么使用三层 三层优缺点 4. MVC三层架构的区别
MVC-三层架构-SSM
zoro_soro的博客
04-20 3337
MVC MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型):模型代表一个存取数据的对象或JAVA POJO. 它也可以带有逻辑,在数据变化时更新控制器。 View(视图): 视图代表模型包含的数据的可视化。 Controller(控制器): 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。 MVC架构程序的工作流程是这样的: (1)用户通过View页面向服务端提出请求
MVC三层架构
m0_70693417的博客
05-30 703
数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。StudyCSharp.DAL项目:数据层,程序数据相关操作封装。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。Controller(控制器)是应用程序中处理用户交互的部分。View(视图)是应用程序中处理数据显示的部分。
mvc三层架构应用案例简单代码
07-30
mvc三层架构应用案例简单代码 详见其中brand-demo 技术:mybatis+maven+mysql+JSP+HTML+servlet+JS
茶叶MVC 三层架构
04-01
茶叶,三层架构,Visual Studio 2013 6666666666
MVC三层架构
03-14
MVC三层架构基础介绍简单来说,Design Patten 就是一个常用的方案。 在我们的开发过程中,经常会遇到一些相同或者相近的问题,每次我们都会去寻找一个新的解决方法,为了节省时间提高效率,我们提供一些能够解决这些...
基于ASP.NET MVC三层架构博客网站系统源码
01-21
资源名:基于ASP.NET MVC三层架构博客网站系统源码 资源类型:程序源代码 源码说明: 使用ASP.NET写的三层架构博客系统 带SEO优化 完整代码 适合学习使用 适合人群:新手及有一定经验的开发人员
MVC 三层架构案例详细讲解
weixin_61635597的博客
05-17 3925
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。[1-2]模型-视图-控制器(MVC)是[Xerox PARC](https://baike.baidu.com/item/Xerox PARC/10693263?fromModule=lemma_inlink)在二十世纪八十年代为编程语言。
15.mvc和分页
松松的博客
09-07 638
MVC和分页 第一节 MVC模式简介 1.1 MVC概念 ​ 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种设计模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是一种软件设计的典范,最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Sma...
MVC三层架构详解
Java学习博客
09-03 8261
MVC实际是一种软件构件模式。它被设计的目的是为了降低程序开发中代码业务的耦合度。并且实现高重用性。增加代码复用率。部署快,且生命周期成本低,可维护性高也是MVC模式的特点。
mvc三层架构(用户信息管理系统)
m0_51443864的博客
11-09 7842
mvc三层架构(实战项目 用户信息管理系统) 一、三层架构 View 层:用于接收用户提交请求的代码。 Service 层:系统的业务逻辑主要在这里完成。 Dao 层:直接操作数据库的代码。 二、三层架构图 三、用户信息管理系统 ...
mvc三层架构
WoolSuperman的博客
05-03 7383
三层架构是指:视图层View、业务逻辑层Service、持久层DAO View层:用于接收用户提交请求的代码 Service层:系统的业务逻辑主要在这里完成 DAO层:直接操作数据库的代码,主要是做数据持久层的工作 。 扩展: MVCMVC模式的某种框架,它强制性地使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。 M即model模型是指模型表示业务规则。
MVC三层架构
msq16021的博客
08-03 1403
MVC与三层结构
mvc就是三层架构
09-10
MVC(模型-视图-控制器)和三层架构是两种不同的概念。虽然它们都是软件架构的设计模式,但是它们解决的问题和关注的层面有所不同。...因此,虽然它们可以互相借鉴和结合使用,但并不能简单地认为MVC就是三层架构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 软件体系结构4+1模型 3643
  • MVC & 三层架构 923
  • 更多快捷键组合可在Eclipse按下ctrl+shift+L查看 682
  • 无法进入cmd其他盘解决方法 513
  • tomact无法启动 286

分类专栏

  • java 4篇
  • javaweb 1篇
  • 数据结构 1篇
  • 大数据 1篇
  • 设计模式 1篇
  • 设计 1篇
  • 软件工程 1篇

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 无法进入cmd其他盘解决方法
  • 词汇解释
  • 软件体系结构4+1模型
2019年13篇
2018年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司安顺营销型网站建设报价昭通seo网站推广报价鹤壁SEO按天计费哪家好南通网站改版报价甘南网站优化推广报价南山网络广告推广价格漯河网络营销推荐威海网络推广推荐贵阳网站优化按天收费多少钱湖州阿里店铺运营多少钱桐城网站优化排名泉州网站制作设计价格宜春SEO按天收费价格永湖seo网站优化哪家好安庆阿里店铺运营推荐荆门网页制作推荐盘锦seo排名公司大浪SEO按效果付费公司衡阳网站建设设计价格廊坊网站优化襄阳网站开发报价延安企业网站建设天津网站改版公司临沂网站排名优化报价怒江seo网站推广山南推广网站多少钱恩施网站优化推广公司聊城优秀网站设计多少钱山南高端网站设计多少钱焦作网站优化报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化