②话不说▼ 2012▼ 编码 模式 只读 java 质量

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。

《015.可写豆模式(Bean Writable Pattern)》 不通常的时候,误Set了一个约定为Readonly的值,就不好了。让编译器默认暴露一个ReadonlyBean。
题图:辽西农村的柴火垛,主要是苞米杆子,用来烧水做饭,烧炕取暖。