Builder模式總結

總結心得 =》》》 道理全聽,舉步維艱,道理不聽 死路一條!!!

好了我們準備開始, GO?。?/h3>

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;
        }
    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1 場景問題# 1.1 繼續導出數據的應用框架## 在討論工廠方法模式的時候,提到了一個導出數據的應用框架。 對于...
    七寸知架構閱讀 5,852評論 1 64
  • 這個專題,我們將要學習一下設計模式,建造者模式——快速構建對象。 閱讀目錄: 什么是建造者模式; 建造者模式源碼實...
    小胖學編程閱讀 723評論 0 2
  • 現實世界,沒有童話!它總是會笑著,然后殘忍地在你滴血的傷口上,撒上一把鹽。疼痛的神經,在你的靈魂深處肆虐,將你的心...
    奇思妙想的豆子閱讀 354評論 3 1
  • 最近更新的文章低水平低質量,看完后更像是在通過這種形式跟阿棍兒和蝦蝦吐槽,因為我想說的話說不出來了,就只好記錄自己...
    小慕雅的牧屋閱讀 250評論 0 1
  • ? 親愛的D先生,最近好嗎? 昨天晚上跟老朋友電話,聊到了你,雖然幾句話之后話題就被我嫻熟的扯開了,但是掛斷電話后...
    歡歌Emily閱讀 548評論 0 2