网友提问:
Java Web项目,你们一般都是怎么设计代码分层的?
优质回答:
谢邀!笔者是一名从业多年的Java Web开发工程师,所以对题主的问题,还是能够做一定可靠回答的。
说到分层,最为我们web开发人员所熟知的,那自然是MVC模式。MVC模式将我们的代码分为了Model,View,Controller这三层。下面针对三层做简单的讨论。
Model层
该层在MVC模式中,主要负责与数据的直接对话。该层在Java Web项目中,通常会出于实际情况,又将其细分为了两层:Service层,DAO(在Spring+Mybatis中,也可以说是Mapper)层。
Service层,主要用于编写业务逻辑。通常它在一个Java Web项目中的代码量是最多的。
DAO层,主要用于与数据库进行交互,根据业务操作相关数据。
Controller层
该层在MVC模式中,主要负责控制业务逻辑,以及返回相关视图。在Java Web的项目中,这层有时候会直接也DAO层对话,这是错误的,这完全不符合该层的设计理念。这层只能与Service层对话,控制业务方向,而不是获取数据。
View层
该层在MVC模式中,主要负责向客户端呈现数据。在传统的Java Web项目中,这一层,我们通常用jsp,template等这类模板引擎来处理。现在的话,由于前后端分离,所以这层基本上剥离出Java Web项目,而改为由前端处理这块数据的呈现了,后端则更多的用于返回json。
笔者是一名从业多年的Java Web开发工程师,如果有Java Web方面的问题,欢迎来询!!笔者也会分享一些有关Java Web开源框架方面的源码解读,如果您感兴趣,不妨点个关注,您的关注将是我更新的最大动力!!!
其他网友回答
谢邀!不擅长领域。已邀约高手回答您!