Builder模式是一步一步創(chuàng)建一個復雜對象的創(chuàng)建型模式潜的,它允許用戶在不知道內部構建細節(jié)的情況下骚揍,可以精準的控制對象的構造過程。
定義:將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示
使用場景:
(1)相同的方法信不,不同的執(zhí)行順序嘲叔,產生不同的事件結果
(2)多個部件或零件,都可以裝配到一個對象中抽活,但產生的結果又不相同
(3)當初始化一個對象特別復雜硫戈,如參數(shù)多,且很多參數(shù)都有默認值
Android源碼中AlertDialog,使用的就是Builder模式
使用實例如下:
fun initDialog(){
var context = this
var builder = AlertDialog.Builder(this)
builder.setTitle("測試")
builder.setMessage("測試消息")
builder.setPositiveButton("確定"
) { dialog, which -> Toast.makeText(context,"點擊確定",Toast.LENGTH_SHORT).show() }
builder.setNegativeButton("取消",object :DialogInterface.OnClickListener{
override fun onClick(dialog: DialogInterface?, which: Int) {
Toast.makeText(context,"點擊取消",Toast.LENGTH_SHORT).show()
}
})
builder.create().show()
}