前言
- 最近在学习SOA,发现对其分层结构有些疑惑,于是打算重新梳理JavaWeb系统开发模式.以下是个人理解,和大家分享一下.
- MVC即Model(模型)、View(视图)、Controller(控制器).不知道大家可否道另一种软件开发模式三层架构和MVC相似也分为三层,分别是 USL : User Show Layer(表现层)、BLL : Business Logic Laye(业务逻辑层)、DAL : Data Access Layer(数据访问层) 这是大家很容易误解的地方,今天就主要给大家讲解一下三层架构和MVC的区别
目录
- 纯JSP
- JSP+JavaBean(Model1)
- JSP+JavaBean+Servlet(Model2)
- 三层架构
- MVC
- SOA
JSP
阅读不方便,维护成本较高
Model1
JSP+JavaBean(M)
JSP ---接受请求,展示数据,处理业务逻辑
JavaBean ---和数据库打交道<jsp:usebea>
Model2
JSP+JavaBean+Servlet
JSP ---展示数据
JavaBean ---和数据库打交道<jsp:usebea>
Servlet ---接受请求,处理业务逻辑
三层架构
USL+BBL+DAL(三层架构)
USL ---User Show Layer(表现层)
BLL ---Business Logic Laye(业务逻辑层)
DAL ---Data Access Layer(数据访问层)
表现层 ---被成为WEB层
业务逻辑层 ---被称为业务层
数据库访问层 ---被称为持久层
三层架构的核心思想是面向接口编程和各层之间的解耦和可替换性
MVC
Model+View+Controller(MVC)
Model --- 接受封装
View ---引用JS和CSS展示数据
Controller ---接受请求,完成业务逻辑
为了帮助理解Model和View 可以参考VUE框架的MVVM(model、view、viewmodel)和SpringMVC的MV(ModelAndView)
MVC主要是将用户界面和业务逻辑分离,以提高软件的可扩展性、可读性、可维护性.