Builder 模式

介绍

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 方法完成显示到桌面
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容