Java---设计模式---值对象

标签: Java 设计模式 值对象
18人阅读 评论(0) 收藏 举报
分类:

场景和问题

    在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?

基本的编写步骤

    ◎第1步:写一个类,实现可序列化(如果以后数据是往数据库里存的,那么可以不序列化,节省资源)
    ◎第2步:私有化所有属性,保持一个默认构造方法(public无参)
    ◎第3步:为每个属性提供get()、set()方法(如果是boolean型变量,最好把get改成is)
    ◎第4步:推荐覆盖实现equals()、hashCode()和toString()方法

值对象的本质是“封装数据”
import java.io.Serializable;
/**
 * Time:2018/4/15
 * Description:
 * 值对象取名规范:xxxValueObject、xxxVO、xxxModel
 * 或者是在一个存放值对象包下直接取名xxx,
 * 步骤:
 * 	1.实现序列化接口
 * 	2.私有化成员变量
 * 	3.保留一个空参构造函数
 * 	4.对私有化的成员变量写set、get方法,注意:boolean类型的get方法是isXxx。
 * 	5.写上equal和hashCode方法
 * 	6.写上toString方法。
 * @author 宋进宇
 */
//最好实现序列化接口
public class UserModel implements Serializable {
	private String id;//id 一般设为主键
	private String userName;//用户名
	private Integer age;//年龄
	private String pwd;//密码
	private boolean admin; //是否为管理员 boolean型的变量名不要取为 “isXxx” 
						   //因为生成的geter 函数时isXxx(),以后在框架里面会有问题。
	//记得保留一个空参构造。
	public UserModel() {
	}
	
	public boolean isAdmin() {
		return admin;
	}
	public void setAdmin(boolean admin) {
		this.admin = admin;
	}
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		UserModel other = (UserModel) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return id + ", " + userName + ", " + age ;
	}
}


查看评论

PHP设计模式

本课程对PHP的设计模式进行深入浅出的介绍,找一些浅显易懂的实例来进行演示,让大家在以后的工作中,能方便且熟练的运用设计模式来组织及架构自己的代码
  • 2017年02月19日 23:53

Java---设计模式(值对象)

值对象的本质是“封装数据” ★ 场景和问题 在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互? ★ 基本的编写步骤 ◎第1步:写...
  • qq_33621967
  • qq_33621967
  • 2016-07-25 17:39:29
  • 171

java的设计模式——值对象

值对象,vo(Value Objiect),Model 比如我们网上注册一个博客,我们需要填写自己的信息,以前可能说填写姓名,性别就好了,但后来又要增加QQ,微信号等等,如果我们采用传值的话会很麻烦...
  • ZY_extreme
  • ZY_extreme
  • 2016-07-23 22:20:50
  • 674

Java设计模式之------值对象模式

值对象模式 在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值 值对象的本质是“封装数据”。值对象模式在开发中用的很多,要熟练掌握。 基...
  • x121850182
  • x121850182
  • 2016-05-24 13:14:49
  • 522

设计模式之单例、多例、工厂、值对象

设计模式——单例 知识点:没有控制个数   线程安全优化 :synchronized   常量:final //懒汉式 public class single {      private st...
  • sanju_sanju
  • sanju_sanju
  • 2016-07-23 21:58:07
  • 92

Java---设计模块(值对象)

★ 场景和问题 在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?★ 基本的编写步骤 ◎第1步:写一个类,实现可序列化(如果以后数...
  • qq_26525215
  • qq_26525215
  • 2016-04-03 23:32:06
  • 1095

设计模式(值对象)

应用场景:在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?这个时候就需要用到我们的值对象设计模式值对象的本质是“封装数据具体步骤: ...
  • weixin_37720904
  • weixin_37720904
  • 2017-03-07 11:06:19
  • 142

领域驱动设计整理——实体和值对象设计

实体引言在领域驱动设计里,实体的设计可以说是通用语言的核心,也是最开始在模型划分中需要考虑的。怎么样设计实体和怎么样划分限界上下文同样重要。实体的概念就是要保证通用语言的完整性。领域驱动让设计实体的关...
  • lijingyao8206
  • lijingyao8206
  • 2016-01-10 21:49:10
  • 19080

领域模型-谈实体对象和值对象

http://blog.sina.com.cn/s/blog_493a84550101534t.html 领域模型-谈实体对象和值对象  (2012-05-21 20:01:10) 转载▼ ...
  • wlanye
  • wlanye
  • 2015-12-16 11:28:42
  • 1569

值对象(Value Object)模式

针对一些数据对象,我们更强调的是这个对象的值而不是这个对象本身的时候,就可以使用值对象模式。意思就是两个对象判定相等的时候应该是两个对象的"值"相等,而不是它俩必须是同一个对象。在编写值对象模式的时候...
  • THEONE10211024
  • THEONE10211024
  • 2017-08-30 14:36:25
  • 250
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 2万+
    积分: 3337
    排名: 1万+
    博客专栏
    ACM

    文章:239篇

    阅读:19106
    Java

    文章:37篇

    阅读:1572
    文章存档