建造者模式

Builder (建造者)属于创建型模式

意图

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。可以分步构造每一部分。

适用性

当创建复杂对象的算法应该独立于对象的组成部分以及它们的装配方式;
当构造过程必需允许被构造的对象有不同的表示时。

简介

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。可以分步构造每一部分。

模式的使用场景

相同的方法,不同的执行顺序,产生不同的事件结果时;
多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时;
产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建造者模式非常合适;

源码展现

  • 用法
AlertDialog dialog = new AlertDialog.Builder(this)
            .setTitle("Dialog")
            .setMessage("I'm a dialog")
            .setIcon(R.drawable.ic_launcher)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            })
            .setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog,
                                int which) {

                        }
                    }).create();
    dialog.show();
  • 效果图
效果图.png

Builder 是 AlertDialog 内部类

Builder
+AlertDialog show()
+AlertDialog create()
+Builder setTitle(String msg)
+Builder setMessage(String msg)
+Builder setIcon(int iconId)
...

优缺点

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 Android的设计模式系列文章介绍:欢迎关注,持续更新中: Android的设计模式-设计模式的六大原则一...
    四月葡萄阅读 18,215评论 10 43
  • 没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组...
    justCode_阅读 5,864评论 1 6
  • 1.建造者模式的定义及使用场景Builder模式是一步一步创建一个复制对象的创建型模式,他允许用户在不知道内部构建...
    GB_speak阅读 1,716评论 0 0
  • 一、简介 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设...
    宇是我阅读 4,187评论 0 3
  • 1.新建项目文件夹 2.文件夹文件(进入src文件夹,创建entries文件夹,在entries文件夹里新建ind...
    wn_Smile阅读 5,206评论 0 0