美文网首页
Builder模式总结

Builder模式总结

作者: 陈道乐 | 来源:发表于2020-01-16 22:29 被阅读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;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Builder模式总结

          本文链接:https://www.haomeiwen.com/subject/agpqzctx.html