四种实体类类型:VO、DTO、DO、PO

在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应于数据库中存储的数据(数据表),DTO对应于除二者之外需要进行传递的数据。 一、实体类 百度百科中对于实体类的定义如下: 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。 根据以上定义,我们可以了解到,实体类有两方面内容,存储数据和执行数据本身相关的操作。这两方面内容对应到实现上,最简单的实体类是POJO类,含有属性及属性对应的set和get方法,实体类常见的方法还有用于输出自身数据的toString方法。

模型: 下面以一个时序图建立简单模型来描述上述对象在三层架构应用中的位置 l 用户发出请求(可能是填写表单),表单的数据在展示层被匹配为VO。 l 展示层把VO转换为服务层对应方法所要求的DTO,传送给服务层。 l 服务层首先根据DTO的数据构造(或重建)一个DO,调用DO的业务方法完成具体业务。 l服务层把DO转换为持久层对应的PO(可以使用ORM工具,也可以不用),调用持久层的持久化方法,把PO传递给它,完成持久化操作。 l 对于一个逆向操作,如读取数据,也是用类似的方式转换和传递,略。 三、项目中的实体类 项目中常见的实体类有VO,DO和DTO,命名规则也常是以相应字符串结尾,如*VO.Java。但是DTO不总是遵循这个规则,而通常与他的用途有关,如写成*Query.java,表示存储了一个查询条件。项目中实体类出现的业务层次也没有这么严格,例如我们可以在视图层就组装一个DO,也可以将一个VO从持久层传出来,所以与业务分层相关联的划分方法显得有些冗余。从项目代码中抽象出的理解是:VO对应于页面上需要显示的数据,DO对应于数据库中存储的数据,DTO对应于除二者之外需要进行传递的数据。

转载地址:

经验分享 程序员 微信小程序 职场和发展