java的设计模式——值对象
2016-07-23 22:20
393 查看
值对象,vo(Value Objiect),Model
比如我们网上注册一个博客,我们需要填写自己的信息,以前可能说填写姓名,性别就好了,但后来又要增加QQ,微信号等等,如果我们采用传值的话会很麻烦。所以有了值对象的用法,就是把客户的所有信息封存在一个类里面,要增添某个属性时只要增加一个参数就好,方便很多。而且当你客户端要依次访问一个人姓名,性别,QQ,微信号时可以直接把封装的类传过去,不用依次一个个的传。
比如我们网上注册一个博客,我们需要填写自己的信息,以前可能说填写姓名,性别就好了,但后来又要增加QQ,微信号等等,如果我们采用传值的话会很麻烦。所以有了值对象的用法,就是把客户的所有信息封存在一个类里面,要增添某个属性时只要增加一个参数就好,方便很多。而且当你客户端要依次访问一个人姓名,性别,QQ,微信号时可以直接把封装的类传过去,不用依次一个个的传。
import java.io.Serializable; //第一步 写一个类实现可序列化 public class AddressVO implements Serializable{ //第二步 私有化所有属性,保持一个默认构造方法(public无参) private String userId,name,address; private boolean isMale;//性别之类的建议用布尔类型 public AddressVO(){ } //第三步 这个全参构造方法,根据需要添加 public AddressVO(String userId, String name, String address, boolean isMale) { super(); this.userId = userId; this.name = name; this.address = address; this.isMale = isMale; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public boolean isMale() { return isMale; } public void setMale(boolean isMale) { this.isMale = isMale; } //第四步:推荐覆盖实现equals()、hashCode()和toString()方法 @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((userId == null) ? 0 : userId.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; AddressVO other = (AddressVO) obj; if (userId == null) { if (other.userId != null) return false; } else if (!userId.equals(other.userId)) return false; return true; } }
相关文章推荐
- Java成长之路01
- SpringMVC数据格式化
- java-框架-Quartz
- Java7并发编程--1、线程管理
- eclipse大小写转换
- springmvc——数据格式化Formatter
- SpringMVC学习:redirect URL中的猫腻
- 使用Spring提供的mail API来发送邮件
- java-框架-AKKA
- [Spring]<context:annotation-config/>注册的BeanPostProcessor
- java中Thread的 interrupt异常处理
- java的设计模式——工厂
- 对封装、抽象、继承、多态的理解?(java四大特性)
- 20145202马超 《Java程序设计》第二周学习总结
- Java反射与代理
- 正确理解ThreadLocal
- Java Web
- rxjava多线程切换
- Rxjava操作步骤
- Java的设计模式——单例