MVC到三层的过渡

码途琉璃狩
• 阅读 1302

初代架构

  • 组成
1、jsp (控制器+视图)  
2、javabean (业务逻辑+数据访问+实体) 业务Bean、实体Bean、数据访问Bean
  • 优势
简单、粗暴
  • 缺点
1、代码臃肿
2、职责混乱
3、可维护性差
4、可重用性差

MVC加入

  • 组成
1、view层 (jsp)
2、controller层  (servlet)
3、model层 (javaBean)  业务Bean、实体Bean、数据访问Bean
  • MVC架构相比初代架构的优势
1、把jsp拆分为两层 (view和controller),职责分明
2、代码开始根据职责进行层级拆分,但未算拆分完整
3、可维护性得到增强
4、可重用性得到增强
  • 缺点
1、代码开始根据职责进行层级拆分不完全,一个应用最重要的 业务逻辑 与 数据访问 还未拆分
2、javaBean代码依然臃肿,维护性低,无重要性可言

三层架构

三层架构MVC架构 的升华版,更适合大型应用开发
  • 组成
1、Web层或表现层 (view层+controller层)
2、service层 (业务逻辑)
3、dao层 (数据访问层)
4、实体层
  • 三层架构相比MVC优势
1、把model层拆分为三层 (service层、dao层、model层),职责分明
2、代码开始根据职责进行层级拆分,拆分完全
3、可维护性强
4、可重用性强
  • 缺点
1、工作量大,繁琐
2、小项目,杀鸡用牛
  • 再说三层理解
由于现在项目越来越复杂,功能越来越庞大,单靠mvc很难做好项目,
所以要按功能职责进行划分层级,让代码尽可能分离,达到可重用和易于维护,
其实三层只是一种对分层结构的统称,大项目往往不止三层,还有五层、六层、七层等等,
所以说到底需要多少层是根据实际项目决定,
但有一点是可以肯定的是,MVC架构的升级版本就是分层架构
点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springMVC的简单了解和环境搭建
一,什么mvc模型视图控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计思想。它主要通过分离模型、视图及控制器在应用程序中的角色将业务逻辑从界面中解耦。通常,模型负责封装应用程序数据在视图层展示。视图仅仅只是展示这些数据,不包含任何业务逻辑。控制器负责接收来自用户的请求,并调用后台服务(eservice 或者 dao)来
虾米大王 虾米大王
2年前
java代码092
code092.jsp通过FindServlet类查询分页数据所有图书信息ID图书名称价格数量作者<%Listlist1(List)request.getAttribute("list");for(code089book:list1)%
Stella981 Stella981
3年前
Spring Boot学习(四)Controller接收请求参数
SpringBoot学习(四)Controller接收请求参数一、通过实体Bean接收请求参数通过实体Bean来接收请求参数,适用于get和post方式,Bean的属性名称必须与请求参数名称相同。项目结构如下:!(https://static.oschina.net/uploads/space/2018/0601/174959_FvRV
Stella981 Stella981
3年前
C#里面BLL、Model、DAL、UI层
C三层架构分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体类库(Model)1、实体类库(Model),主要存放数据库中的表字段。操作:(1)先建立实体类库Model,打开项目,在解决方案中右键》添加》新建项目》选中类库》改名Model》确定(2)选中Model类库》ShiftALT
Stella981 Stella981
3年前
ASP.NET MVC 5
MVC代表:_模型__\__视图__\__控制器_。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含:·Models:表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。·Views:应用程序动态生成HTML所使用的模板文件。·Controllers:
Wesley13 Wesley13
3年前
1.1Spring Boot 环境配置和常用注解
SpringBoot常用注解:@Service:注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository:注解在类上,表示这是一个数据访问层bean@Component:注解在类上,表示通用bean,value不写默认就是类名首字母小写@Auto
Easter79 Easter79
3年前
Spring高级应用之注入嵌套Bean
在Spring中,如果某个Bean所依赖的Bean不想被Spring容器直接访问,可以使用嵌套Bean。和普通的Bean一样,使用<bean元素来定义嵌套的Bean,嵌套Bean只对它的外部的Bean有效,Spring容器无法直接访问嵌套的Bean,因此定义嵌套Bean也无需指定id属性。如下配置片段是一个嵌套Bean的示例:<bean id
Stella981 Stella981
3年前
Spring 12 种 常用注解!
1.声明bean的注解@Component组件,没有明确的角色@Service在业务逻辑层使用(service层)@Repository在数据访问层使用(dao层)@Controller在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inj
Stella981 Stella981
3年前
Pre
PAT甲级1119,我先在CSDN上面发布的这篇文章:https://blog.csdn.net/weixin\_44385565/article/details/89737224(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Fweixin_443855
Stella981 Stella981
3年前
Android MVP模式
1、MVP模式简介相信大家对MVC都是比较熟悉了:MModel模型、VView视图、CController控制器,MVP作为MVC的演化版本,那么类似的MVP所对应的意义:MModel模型、VView视图、PPresenter表示器。从MVC和MVP两者结合来看,Controlller/Pre
Easter79 Easter79
3年前
Spring注解@Resource和@Autowired区别对比、spring扫描的默认bean的Id、程序获取spring容器对象
\注解扫面的bean的ID问题0.前提需要明白注解扫描出来的bean的id默认是类名首字母小写,当然可以指定id:
码途琉璃狩
码途琉璃狩
Lv1
有的东西终究还是要失去,那我宁愿从来都未拥有过。
文章
4
粉丝
0
获赞
0