Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以精准的控制对象的构造过程。
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
使用场景:
(1)相同的方法,不同的执行顺序,产生不同的事件结果
(2)多个部件或零件,都可以装配到一个对象中,但产生的结果又不相同
(3)当初始化一个对象特别复杂,如参数多,且很多参数都有默认值
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()
}
网友评论