美文网首页
Builder 模式

Builder 模式

作者: 任教主来也 | 来源:发表于2017-03-01 10:22 被阅读22次

    介绍

    Builder 模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。

    该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。

    AlertDialog 的 Builder 模式

    Builder 中有一个参数为 AlertController.AlertParams ,在 Builder 的 set 系列方法中,将用户设置的参数保存在 AlertController.AlertParams 参数中

    AlertDialog 的创建,在 Builder 的 create 方法中,创建了一个 AlertDialog 对象,并在 AlertParams 的 apply 方法中,将 AlertParams 中保存的用户设置的参数通过 AlertDialog 的 set 系列方法设置到 AlertDialog 对象中。

    这个过程就是典型的 Builder 模式。

    当然,在 AlertDialog 中是使用 AlertController 来保存参数的,这就是另外一回事了,从 Builder 到 AlertDialog 的过程是 Builder 模式的工作过程

    AlertDialog 的工作过程

    1. 在 AlertDialog 对象的构造过程中使用 Builder 模式,最后将用户设置的参数保存在 AlertDialg 的内部类 AlertController 中

    2. AlertDialog 的 show 方法中,才是真正工作过程的核心部分,下面先直观的列出 show 方法的工作过程

      1. 调用 AlertDialog 的 onCreate 方法,为 Window 对象设置要显示的布局,并使用 Alertcontroller 参数保存的数据初始化布局中的视图内容。
      2. onStart() 方法调用
      3. 调用 WindowManager 的 addView 方法完成显示到桌面

    相关文章

      网友评论

          本文标题:Builder 模式

          本文链接:https://www.haomeiwen.com/subject/vwrqgttx.html