java为何使用Service、Dao、以及Controller层的设计

前言

总体来说是为了代码的规范,每部分都有其作用
为了代码能够进行服用,而且层次关系比较好,对后面的工作人员进行维护也比较友好

一般一些大企业都会有一些代码的分层规定
比如阿里这些
在这里插入图片描述

  • 开放接口层:封装 Service 方法暴露给 RPC 接口
    通过 Web 封装成 http 接口
    进行网关安全控制、流量控制

  • 终端显示层:主要是模块的渲染,并且进行显示到终端

  • Web 层:对访问控制进行转发,各类基本参数校验

  • Service 层:具体的业务逻辑层

  • DAO层:数据访问层,与底层数据进行交互。

至于为什么要搞这些分层
主要基于两点:

  1. 单一职责
  2. 能捋清楚代码

层次介绍

因为在Java里面,做开发都要遵循一套模式MVC:
M——Model(模型,即JavaBean)
V——View(视图,即页面)
C——Controller(控制层,即与前端交互的类)

然后就是service、dao和controller:

  • controller:控制层,接收前端传过来的数据
  • service:业务层,处理制层传过来的数据
  • dao:数据访问层,即把业务层传过来的数据存放在数据库

这样的设计都是方便开发中的维护,假如你写程序随便写,名称随便定义,然后再改bug的时候你会让开发者生不如死然后就是层与层之间互相不干扰,自己处理自己的事情

作用

将模块解耦
功能层次分明

目的是为了降低写代码和看代码的复杂度
将相关性高的代码放在一起
高内聚低耦合
分层是实现目的的手段
MVC和DDD都是实现方法

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农研究僧

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值