层次结构分析——嗖嗖移动业务大厅项目

层次结构分析——嗖嗖移动业务大厅项目

项目结构图示:

在这里插入图片描述

Constant(常量层)

DAO(数据访问层)全称为:Data Access Object,数据访问对象

Entity(实体层)

Exception(异常层)

Service(业务逻辑层)

Util(工具层)是utiliy的简写


各层次介绍

constant(常量层)

在这里插入图片描述

常量层用于存放项目中使用的各种常量,可能是switch中各个数字表示的具体含义,也可能是对某种状态的判断

图中的常量层内部有一个名为SystemConstant(系统常量)的接口

接口内有2个int类型数据,分别表示手机卡号是否可用的状态,可用为0,不可用为1

该常量接口可以用带有含义的词组,代替“魔法数字”显示

常量命名方式:

​ 单词全部大写,单词之间用下划线分隔

例如:

// 是否为空
int IS_NULL = 0; // 为空
int NOT_NULL = 1; // 不为空

DAO(数据访问层)

在这里插入图片描述

DAO层,用来封装对于实体类的数据库的访问,即增、删、改、查操作,并且不添加业务逻辑

impl

全称为implementation class

implementation :实现;完成;执行

class:类

意思为:实现类,接口实现

图中的DAO层内部拥有关于各个表的方法接口,以及impl文件夹中相对应的实现类

DAO层命名方式:

​ 类名(首字母大写) + Dao

实现类命名方式:

​ 类名(首字母大写) + Dao + Impl

DAO层的写法看似麻烦,但它带来了什么好处呢?

答案是:我们无须关心接口背后的具体的实现类。假如:需要将现有的A实现类,更换为B实现类。只需要删除A实现类,再让B实现类依赖于该接口即可


Entity(实体层)

在这里插入图片描述

实体层,存放项目分析时得到的类,是一种用来封装数据和方法的模板或蓝图。类可以看作是一种自定义类型,用于描述具有相同属性和行为的对象

类的命名方式:

​ 每个单词的首字母必须大写


Exception(异常层)

在这里插入图片描述

异常层,用于存放我们在项目中自定义的异常

异常的命名方式:

​ 单词(首字母大写) + Exception


Service(业务逻辑层)

在这里插入图片描述

业务逻辑层,是处理逻辑上的业务,主要负责实现具体的业务功能,例如:用户登录注册、付费订单处理等

Service层的特点
封装性:Service层将业务逻辑封装起来,对外提供简洁的接口,使得其他组件或层级可以方便地调用

​ 可重用性:Service层可以被多个控制器(Controller)或其他服务(Service)共享使用,提高了代码的重用性

​ 独立性:Service层独立于其他层级,它不依赖于具体的数据访问方式或展示方式,使得系统各个层级之间的耦合度降低

Service和DAO层在结构和命名上极为相似,但负责的功能不同

Service层的职责包括:

​ 封装业务逻辑:将复杂的业务逻辑封装起来,隐藏底层实现细节,提供简洁的接口供其他组件或层级调用

​ 协调各个DAO层的数据访问:Service层可以调用多个DAO层,对数据访问进行协调,确保数据的完整性和一致性

​ 实现事务管理:Service层负责管理数据库事务,保证在业务操作中的一致性和原子性

​ 异常处理:Service层可以捕获和处理异常情况,提供友好的错误信息给上层处理


Util(工具层)

工具层,存放针对本项目的工具类,例如数据库连接、日期处理等

ervice层可以捕获和处理异常情况,提供友好的错误信息给上层处理


Util(工具层)

在这里插入图片描述

工具层,存放针对本项目的工具类,例如数据库连接、日期处理等


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值