三层架构和mvc的区别

       首先,为什么我为什么会有这个疑问。是因为java开发很多年了,也接触了很多java web项目。大部分项目代码都会分为3层,控制层、业务层、dao层。然后java web项目基本上都是MVC架构。所以就总是去想MVC分别对应的是哪一层。

      然后,在网上查了下MVC架构和三层架构的定义。我对这个疑问有了自己的解答。

一.MVC简介
MVC 即Model(模型),View(视图),Controller(控制器)。

MVC是一种软件开发架构模式,全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

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

       根据上面定义,我发现所谓的三层架构并不是我们实际开发java web项目的现实情况。实际我们开发的项目架构准确来是说是分层系统,并不一定是三层(一般都不只三层)。实际上一般有:表现层(html、jsp等页面)、过滤器层、控制器层、业务层、dao层、实体层等。按照MVC分类的话:

视图:主要包括表现层。

控制器:主要包括过滤器层、控制器层。

模型:主要包括业务层、dao层、实体层。

业务逻辑都聚集到业务层、dao层、实体层,如果要改进和个性化定义界面及用户交互,一般只需要修改表现层和控制器层就可以,即模型可以不变,只需要修改视图和控制器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值