Builder模式总结

总结心得 =》》》 道理全听,举步维艰,道理不听 死路一条!!!

好了我们准备开始, 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;
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 场景问题# 1.1 继续导出数据的应用框架## 在讨论工厂方法模式的时候,提到了一个导出数据的应用框架。 对于...
    七寸知架构阅读 11,180评论 1 64
  • 这个专题,我们将要学习一下设计模式,建造者模式——快速构建对象。 阅读目录: 什么是建造者模式; 建造者模式源码实...
    小胖学编程阅读 4,035评论 0 2
  • 现实世界,没有童话!它总是会笑着,然后残忍地在你滴血的伤口上,撒上一把盐。疼痛的神经,在你的灵魂深处肆虐,将你的心...
    奇思妙想的豆子阅读 2,773评论 3 1
  • 最近更新的文章低水平低质量,看完后更像是在通过这种形式跟阿棍儿和虾虾吐槽,因为我想说的话说不出来了,就只好记录自己...
    小慕雅的牧屋阅读 1,715评论 0 1
  • ❤ 亲爱的D先生,最近好吗? 昨天晚上跟老朋友电话,聊到了你,虽然几句话之后话题就被我娴熟的扯开了,但是挂断电话后...
    欢歌Emily阅读 3,558评论 0 2

友情链接更多精彩内容