java中实体类的区别
经常会接触到 VO, DO, DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析。 得出的主要结论是:在项目应用中, VO对应于页面上需要显示的数据(表单), DO对应于数据库中存储的数据(数据表), DTO对应于除二者之外需要进行传递的数据。 一、实体类 百度百科中对于实体类的定义如下: 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。 根据以上定义,我们可以了解到,实体类有两方面内容,存储数据和执行数据本身相关的操作。这两方面内容对应到实现上,最简单的实体类是 POJO类,含有属性及属性对应的 set和 get方法,实体类常见的方法还有用于输出自身数据的 toString方法。 二、领域模型中的实体类 领域模型中的实体类分为四种类型: VO、 DTO、 DO、 PO,各种实体类用于不同业务层次间的交互,并会在层次内实现实体类之间的转化。 业务分层为:视图层( VIEW+ACTION),服务层( SERVICE),持久层( DAO) 相应各层间实体的传递如下图 项目中我们并没有严格遵循这种传递关系,但这种和业务层次的关联对我们理解各实体类的作用是有帮助的。(我们没有接触到 PO的原因,我理解为 ORM对 PO进行了封装)