架构的目的就是分层,使得职能分离。
MVC
- M 代表 模型(Model):用来取数据的,我的理解是充当DAO层以及POJO这些。
- V 代表 视图(View):负责页面展示。
- C 代表 控制器(Controller) :处理逻辑,控制页面跳转。
这样的目的主要是把View和Model分离,改样式就动View层,Controller负责逻辑,也就是与V和M之间的联系。
SpringMVC
可以看到MVC分离的还不够细化,因此SpringMVC实现了把控制器分为控制层以及业务层(实际上咱现在用的基本都是SpringMVC以及SpringBoot这种)
SpringMVC:视图层调用控制层,控制层调用业务层,业务层调用数据访问层。
数据访问层:data access object(DAO),DAO就是封装实体类在数据库中增删改查的操作。
业务层:用来写业务逻辑的
对于Service,就是 Servlet 和 Dao 层之间缓冲的层。通过这一层来进行解耦,使得 Dao 层内的变化不会直接影响到 Servlet 层。
控制层:MVC中的Controller,用于处理前端页面跳转,调用业务层实现前端页面动态数据的展示。
视图层:页面展示。
JAVAEE分层模型
就是SpringMVC,除此之外多了一个DO。
Domain Object(领域对象)层
DO是从现实世界中抽象出来的有形或无形的业务实体。
说白了像一个entity对应一张表叫DO。
DAO(数据访问对象)层
DAO实现了对数据库的CRUD等常见操作。
Service(业务逻辑)层
实现了系统所需要的业务逻辑方法。
Controller(控制器)层
本层由一系列控制器组成,这些控制器用于拦截用户的请求,并调用业务逻辑组件的业务逻辑方法去处理用户请求,然后根据处理结果向不同的View组件转发。
View(表现层)层
页面展示。
分层模型图如下:
参考文献
1.Java代码安全审计(入门篇) 徐焱
2.https://blog.csdn.net/weixin_45442296/article/details/123111903 JavaRange
3.https://blog.csdn.net/qq_43391574/article/details/110944815 落雨青石街