設(shè)計模式之Builder模式 - Builder

當(dāng)一個類的構(gòu)造方法中參數(shù)過多時, 可以考慮使用Builder模式.

這樣做的好處是:

為設(shè)置每一個參數(shù)提供一個單獨的API, 讓使用者更明白使用這個參數(shù)的意義.
同時, 對這些參數(shù)的設(shè)置是在內(nèi)部類Builder中完成的, 在目標(biāo)類中不提供設(shè)置這些屬性的值的setter API.這樣就保證了目標(biāo)類的對象在創(chuàng)建后, 這些屬性的值不會再發(fā)生改變.

典型的使用代碼
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle(R.string.simple_list_dialog);
builder.setCancelable(true);
AlertDialog dialog=builder.create();
dialog.show();

AlertDialog對象的創(chuàng)建是由它的內(nèi)部類AlertDialog.Builder負(fù)責(zé)完成的.
在AlertDialog對象創(chuàng)建完成后, 它的這些屬性值也就無法修改了, 因為在調(diào)用了dialog.show();后再去修改這些屬性值也沒有任何的意義.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容