项目白手起家之Java对象的解读

267 阅读3分钟

这是我参与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的方法

阿里巴巴的规范中对于各种对象建立规约: