Builder模式总结
2020-01-16 本文已影响0人
陈道乐
总结心得 =》》》 道理全听,举步维艰,道理不听 死路一条!!!
好了我们准备开始, GO!!
first one ==mXXX 之罪==
class MyClass {
private int mOld; //加这个的过错在哪里!
}
1. 首先颜值问题
class MyClass {
private Md5 mMd5; // 这是什么鬼东西,混淆视听
private Mon mMon;
}
2.其次ide 智能生成, 瞬间蒙蔽
class MyClass {
private String mName;
public String getMName() { //卧槽,无情
return mName;
}
}
3.捅窟窿,越来越大
class MyClass {
private String mName;
public void foo() { //当一大推m n 打头的词汇出现的时候,瞬间蒙蔽
int member;
int nmm;
int mn;
int master
}
}
==最后我们该怎么做==
- 保持简洁
- 标示意图 (成员变量)
- 防止冲突
- ide支持提示
class MyClass {
int old; //保持词义,善用this. 这么长的前缀,难道还看不出是成员变量,
public MyClass (int old) {
this.old = old;
}
public getOld() {
return old;
//return this.old;
}
}
second ==view 创建 及其初始化==
class MyDialog extends Dialog {
private Button btnA;
public MyDialog(Context context) {
super(Context);
//有多次使用的,请放到初始化中获取, 不要放到initView
this.btnA = findViewById (xxxxx);
initView();
}
public void initView() {
//TODO:页面外观调整
}
public void initEvent() {
//TODO:事件绑定
}
}
last ==Builder模式优化结构==
class MyClass {
private int old;
//既然已经要用builder,就请屏蔽构造函数, 具体看情况
private Myclass() {
}
//附加提供一个友好的方法
public static MyClass newbuilder() {
return new Builder();
}
public static Builder() {
private int old;
public Builder setOld(int old) {
this.old = old;
}
public MyClass build () {
MyClass myClass = new MyClass();
//这样就爽了, 不用在MyClass 构造函数里面加一大堆参数, 简洁,也不用加set方法
myClass.old = this.old;
return myClass;
}
}
}