java领域_Java领域模型-POJO、VO、DO、BO、DTO

Java领域模型

Bean

java可重用组件,有显示逻辑的POJO,目的是把程序,业务逻辑和显示逻辑分开吗,降低开发的复杂程度和维护成本。

规范

这个类必须有一个公共的缺省构造函数

这个类的属性用 getter 和 setter 访问

这个类可被序列化

EJB

即EnterpriseBean,也就是Enterprise JavaBean(EJB)。

ejb是JavaEE的一部分,定义了一个用于开发基于组件的企业多重应用程序标准。它被称为Java企业Bean,是java的核心代码,分别是回话Bean(Session Bean)、实体Bean(Entity Bean)、和消息驱动Bean(MessageDriven Bean)。

POJO(plain ordinary java object,普通无规则Java对象)类型

POJO是基本的数据表示对象规范。

具有getter、setter方法,没有逻辑类代码。

POJO又分为PO、VO、TO、BO、DTO

比如user是一张用户表,可以用PO后缀的UserPO表示这是一个ORM映射实体类。

DO(Domain Object)

领域化的PO对象。

比如User的密码不能返回前端,所以为了符合业务需求建立DO对象。

VO(View Object)

视图(页面)对象,代表前端 页面或组件的字段。

和PO一样也是仅仅包含数据而已,但应是抽象出的业务对象,可以和表对应,也可以不是

DTO(Data Transfer Object)

数据传输对象,现在用于视图层与服务层之间的数据传递。例如前端请求后端实现用户信息验证。

这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载。

比如返回信息除包含数据外还有状态码、请求结果。

BO

业务对象,包含了业务逻辑,属性可以是一个Java对象。

比如一个简历中,有教育经历、工作经历、社会关系等等。教育经历、工作经历、社会关系又分别对应一个实体。

PO

持久化(表)对象,也就是Entity类型的实体。

表示现实世界的事物。

是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对应关系

VO和PO,都是属性加上属性的get和set方法;表面看没什么不同,但代表的含义是完全不同的

Entity类型

表映射的实体类,用于ORM系统中关系映射的实体类,也就是对应着数据库一张表(类型和数学名称一一对应),应用场景有JPA、Mybatis。

模型

用户发出请求,表单的数据层被匹配为 VO

展示层把 VO 转换为服务层对应方法锁要求的 DTO,传输给服务层

服务层首先根据 DTO 的数据构造一个 DO,调用 DO 的业务方法完成具体业务

服务层把 DO 转换为持久层对应的 PO,调用持久层持久化方法,把 PO 传递给它完成持久化操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值