“这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战”
一切皆对象
Java语言是现在是后端的主流语言,基于类的形式,比如MVC模式下,控制层controller与转换层,
在程序开发的过程中会有很多的类给我们使用,一般我们常见的都是比较有含义的实体类,比如简单的数据类型,
-
开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行网关安全控制、流量控制等。
-
终端显示层:各个端的模板渲染并执行显示的层。当前主要是 velocity 渲染,JS 渲染,JSP 渲染,移动端展示等。
-
Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。
-
Service 层:相对具体的业务逻辑服务层
-
Manager 层:通用业务处理层,它有如下特征:
- 对第三方平台封装的层,预处理返回结果及转化异常信息;
- 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理;
- 与 DAO 层交互,对多个 DAO 的组合复用。
-
DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。
-
外部接口或第三方平台:包括其它部门 RPC 开放接口,基础平台,其它公司的 HTTP 接口
简单一个实体类中的属性代表,当然类中使用的都是一些实际能用到的字段,我们称之为:
以上的图中正确的展示了数据交互过程中,一些必要的类的object的别名叫法
DO:数据表名:
数据访问对象是一个面向对象的数据库接口
用于数据库中最直接操作crud 的类(简称数据访问类)
在我开发流程中,都是访问controller调用service层——》dao层,然后是mapper映射出最后到dao 层的实现方法,四层的一个结构
就是我们常说的do: 因为是直接操作于表结构的
Dto: 数据传输对象
数据传输中的(接口方法的返回值和接口入参等)
是对于固定实现具体的业务功能而确定的方法;——-》由于封装的方法在过程中会具体的映射实现,mapper.xml的,防止sql注入的过程
简单来说就是我们需要具体封装一个方法去确定,我们的返回值,入参等——需要这个类作为操作数据表的一个中间object
Vo: 前端页面显示对象
这个对象的出现是在前端页面上展示来形成的,理论上后端输出的数据格式字段等,dto. 但是前端显示的话可能要考虑用户的体验,从而就分离出来了一个vo的object的对象供前端来使用;
POJO:DO/DTO/BO/VO 的统称
所有的实体类交互的对象都可能称为是pojo的对象
简单就是可以有属性,自己实现Lombok中的@data注解的方法,get/set,toString的方法
阿里巴巴的规范中对于各种对象建立规约: