JavaEE对象类型的总结与思考

引言:

做传统项目时一直对对象类型没有太过具体的了解,用时基本也就POJO、DAO、对于传输对象没有太过细的划分。在做分布式架构的项目有一个问题一直困扰着我,对象类型怎么设计,怎么用,用到什么样的程度。如果设计时划分比较清楚有利于项目解耦,但是明显增加了项目的复杂度。

常见Java对象类型如下:

POJO:

全称为:Plain Ordinary Java Object,即简单普通的java对象。一般用在数据层映射到数据库表的类,类的属性与表字段一一对应

PO:

全称为:Persistant Object,即持久化对象。可以理解为数据库中的一条数据即一个PO对象,也可以理解为POJO经过持久化后的对象

DTO:

全称为:Data Transfer Object,即数据传输对象。一般用于向数据层外围提供仅需的数据,如查询一个表有50个字段,界面或服务只需要用到其中的某些字段,DTO就包装出去的对象。可用于隐藏数据层字段定义,也可以提高系统性能,减少不必要字段的传输损耗。

DAO:

全称为:Data Access Object,即数据访问对象。就是一般所说的DAO层,用于连接数据库与外层之间的桥梁,并且持久化数据层对象

BO:

全称为:Business Object,即业务对象。一般用在业务层,当业务比较复杂,用到比较多的业务对象时,可用BO类组合封装所有的对象一并传递。

VO:

全称为:Value Object,有的也称为View Object,即值对象或页面对象。一般用于web层向view层封装并提供需要展现的数据

总结:

这些定义在实际使用设计中并不会全部用到,根据不同设计架构定义不同的类对象,形态大致如此,可根据自己项目进行调整。一般各层之间要尽量保持低耦合,不要相互依赖,如web尽量不要引用dao层或服务实现层中的类,在单应用中不会有问题。如果重构成分布式项目,这些对象过度依赖将会是十分让人头疼的问题。最近做的分布式项目我是对象类型分为前端传来的对象为BO、服务之间调用用DTO、返回给前端用VO、与数据库对应分了dao层、表对应的实体为PO。使各个对象各司其职,高度解耦,这样也造成了一个问题,对象转换时需要太多对象之间进行转换。显然如果项目仅仅时快速开发就没必要分那么清楚,如果项目要进行迭代为了后期维护就尽量解耦。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值