java的几种对象 PO,VO,DAO,BO,POJO,DTO

PO

对应数据库中记录,仅包含数据,不包含操作
persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

VO

业务层之间用于数据传递的对象,仅包含数据,不包含操作
value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。
但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。

DAO

data access object 数据访问对象,是一个sun的一个标准j2ee设计模式 .此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。夹在业务逻辑与数据 库资源中间。配合VO,
提供数据库的CRUD操作…

BO

业务层对象,调用DAO层方法操作PO,VO
business object业务对象。从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、 关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO, 关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。

(关于BO主要有三种概念 :
1 、只包含业务对象的属性;
2 、只包含业务方法;
3 、两者都包含。
在实际使用中,认为哪一种概念正确并不重要,关键是实际应用中适合自己项目的需要)

POJO

普通Java对象
plain ordinary java object 简单无规则java对象。我个人觉得它和其他不是一个层面上的东西,VO和PO应该都属于它。

DTO

展示层与服务层之间的数据传输对象
Data Transfer Object(数据传输对象)DTO 是一组需要跨进程或网络边界传输的聚合数据的简单容器。它不应该包含业务逻辑,并将其行为限制为诸如内部一致性检查和基本验证之类的活动。注意,不要因实现这些方法而导致 DTO 依赖于任何新类。在设计数据传输对象时,您有两种主要选择:使用一般集合;或使用显式的 getter 和 setter 方法创建自定义对象。(资料:http://baike.baidu.com/view/160599.htm)

你可能感兴趣的:(Java,java,后端)