Builder模式

2019-12-27  本文已影响0人  wervy

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()
    }
上一篇 下一篇

猜你喜欢

热点阅读