java里的DTO,DO,BO,VO

在讲解DTO,DO,BO,VO这些对象前首先要了解以下POJO

POJO(Plain Ordinary Java Objects):简单无规则 java 对象
POJO对象主要是用于维护数据库表记录,其中有一些属性及其getter setter方法的类,但不允许有业务方法,也不能携带有connection之类的方法。
以下举个POJO的例子:

package pojo;

import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {

	private Integer id;
	private String name;
	private String gender;
	private Integer age;
	private Double score;
	private Date create_time;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public Double getScore() {
		return score;
	}
	public void setScore(Double score) {
		this.score = score;
	}
	public Date getCreate_time() {
		return create_time;
	}
	public void setCreate_time(Date create_time) {
		this.create_time = create_time;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", gender=" + gender + ", age=" + age + ", score=" + score
				+ ", create_time=" + create_time + "]";
	}
	public User() {}
	public User(String name, String gender, Integer age, Double score) {
		super();
		this.name = name;
		this.gender = gender;
		this.age = age;
		this.score = score;
	}
	
	
	
	
}

从代码中也可以看出POJO就一个普通的JavaBean,通过get和set方法存取数据记录。

接下来介绍DTO,DO,BO,VO

POJO可以看着是VO、BO、DTO、DO的抽象总称
DTO( Data Transfer Object):数据传输对象
DTO是来绑定表现层中的数据,与实体Entity不同,DTO是指数据在页面和业务层逻辑,比如当客户在页面提交了表单后,业务层先为这个数据构造了一个DTO对象,然后业务方法内部将DTO对象转为实体对象,然后通过这个实体对象去调用数据库的信息。从这个过程可以看出DTO对象是处理显示层和业务层的数据传递,Entity对象是处理业务层和数据库之间的数据传递。

DO( Data Object):领域对象
DO是从现实世界中抽象出来的有形或无形的业务实体,它与DTO不同,DTO是处理数据在页面与业务层之间的流动,而DO像是在业务层里给用户分角色,将用户角色的权限和用户的信息封装。

BO( Business Object):业务对象
将数据通过一定的业务逻辑进行展示的业务逻辑展现层,主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其他的对象。其中包含了业务方法和业务属性,在处理业务时就可以针对BO去处理业务。

VO( View Object):视图对象
于绝大部分的应用场景来说,DTO和VO的属性值基本是一致的,两个都是POJO,这个是在实现层面上,对于设计层面来说,概念上还是应该存在VO和DTO,因为两者有着本质的区别,DTO代表服务层需要接收的数据和返回的数据,而VO代表展示层需要显示的数据。在需求明确,客户端只有一个的时候是没有必要将VO和DTO分开的,而在不明确而且一个展示页面可能需要多个DTO的数据组成时就可以考虑用上VO。总的来说VO主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值