JavaWeb分层设计思想
分层设计(上层调用下层接口)
- 好处:使代码结构更加清楚,项目分工更加明确,可读性大大提升,更加有利于后期的维护和升级,达到高内聚低耦合
- 常规划分为三层(表现层(UI),业务逻辑层(BLL),数据访问层(DAL))
MVC架构(模型Model-视图View-控制器Controller)
- Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器
- View(视图) - 视图代表模型包含的数据的可视化
- Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开
小结:MVC实现的过程: 表示层(view)调用控制层(controller),控制层调用业务层(service),业务层调用数据访问层(DAO)
Java Web 详细分层设计
- 终端显示层:各端的模板渲染并执行显示层(主要为freemarker模板渲染,JS渲染,移动端渲染)
- 开放接口:对外服务的http接口
- Web层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理
- Service层:相对具体的逻辑服务层
(如果只涉及数据库操作业务,可以与manager层合并;若涉及复杂业务逻辑(如调用底层库、通信接口,需独立分层)) - Manager层:通用业务处理层
特征:对Service层通用能力的下沉;与DAO层交互,对DAO的业务通用能力的封装 - DAO层:数据访问层,与底层MySQL、Oracle等数据库进行数据交互
- 外部接口或第三方平台:包括其他部门的RPC开放接口、基础平台;其他公司的http接口