015.可写豆模式(Bean Writable Pattern)
这个名字有点刁,嗯,我也这么认为的 :)
通常Bean的Getter和Setter是成对出现的,通常对写也都正确。
但不通常的时候,误Set了一个约定为Readonly的值,就不好了。
本模式,就这干这个的,让编译器默认暴露一个ReadonlyBean。
@史荣久 / 2012-11-19 / CC-BY-SA-3.0
1.代码模板
// 1) 抽象类法。
public abstract class Bean {
protected int id;
public int getId() {
return id;
}
}
public class BeanWritable extends Bean {
public void setId(int id) {
super.id = id;
}
}
// 2)接口法
public interface Bean {
public int getId();
}
public class BeanWritable implements Bean {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
super.id = id;
}
}
2.使用说明
【抽象类法】遵循以下的套路:
只读Bean是
- 类是abstract的。
- 属性是 protected。
- 方法都是只读的,如Getter,hashCode等。
可写Bean是 - 继承Bean的。
- 有Setter方法,set super的属性。
【接口法】遵循以下的套路:
只读Bean是接口,都是setter
可写Bean是一个普通Bean,但实现了只读Bean的接口
对于不需要Set的功能,使用Bean即可。
对于需要Set的功能,使用BeanWritable。
题图:辽西农村的柴火垛,主要是苞米杆子,用来烧水做饭,烧炕取暖。