Android -建造者模式

作者: 薛之涛 | 来源:发表于2018-06-24 22:00 被阅读173次

  今天我们来聊一聊我们经常用到的模式-建造者模式(Builder Pattern).

一:

1.什么是建造者模式?

建造者模式 的定义是:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示]。

比如我们常见的AlertDialog,Glide等都是运用的建造者模式,拿Glide来说:

Glide.with(this).load(R.drawable.ic_launcher).into(iv); 没有通过new的方式,然后一个一个set其属性。而是通过这种链式的调用赋值,然后达到给相关对象赋值的目的。

当然AlertDialog创建会更明显:

new AlertDialog.Builder(this)

  .setTitle("标题")

  .setMessage("内容")

  .setNegativeButton("取消", new DialogInterface.OnClickListener() {

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

      }

  })

  .setPositiveButton("确定", new DialogInterface.OnClickListener() {

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

      }

  })

  .create().show();

2.构造者模式有什么好处?

      建造模式是将复杂创建过程封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调用者无需关心,也不知道,具有良好的封装性,可以使客户端不用知道产品内部组成的细节。.建造者独立,容易扩展。就是解耦。

3.建造者模式的构成,一般的建造者模式由四部分构成。

Product:被构造的复杂对象

Builder:抽象接口

ConcreteBuildr:Builder接口的具体实现

Director:Builder接口的构造者和使用者

    但我一般在开发过程中,跟传统开发者模式不太一样,做了一点点改变。但本质都是一样的,话不多说,撸代码。

二:代码部分。

    先说一说我们的思路:我们这里要做一个学生管理系统,每个新入职的学生都必须填写自己的姓名,性别,年龄,手机号(选填),地址(选填),兴趣爱好(选填)”然后获取相关学生对象,如果传统方式就是创建Student对象,然后一个一个set(),get()啦,我们来看一看如何用建造者模式实现。

     第一步:创建StudentConfig配置类

第二步:我们再看看内部类StudentBuilder;

  也没啥说的!

效果:

调用代码:StudentConfig studentConfigOne=new StudentConfig.StudentBuilder("张三","男","20").setAddress("恒                    山").setPhone("12345678910").setHobby("传统武术").createStudentConfig();    

总结:

    这就是稍微变动后的Builder Pattern,在开发比较常用,通常作为配置类的构建器将配置的构建和表示分离,通过链式实现使得代码更简洁、易懂。缺点呢就是会产生多余的Builder对象消耗内存,不过优点大于缺点。

相关文章

  • 建造者模式(部件构造)

    目录 建造者模式的理念 从 POJO 到建造者模式的思考 怎么来实现建造者模式 建造者模式在Android源码中的...

  • Android 中的建造者模式

    Android 中的建造者模式 概述 建造者模式(Builder Pattern)也叫生成器模式,其定义如下:se...

  • Builder Pattern in Java

    建造者模式:建造者模式定义建造者模式应用场景实现案例Jdk中的建造者模式建造者模式的优点建造者模式的缺点 建造者模...

  • 建造者模式

    Android中建造者模式使用最普遍的就是Dialog。下面这个Dialog采用建造者模式,富文本等。 1.下面进...

  • android中常见的设计模式有哪些?

    建造者模式 建造者模式最明显的标志就是Build类,而在Android中最常用的就是Dialog的构建,Notif...

  • Android -建造者模式

    今天我们来聊一聊我们经常用到的模式-建造者模式(Builder Pattern). 一: 1.什么是建造者模式?...

  • 设计模式(4) 建造者模式

    什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与...

  • 【设计模式】之建造者Builder模式

    建造者模式 什么是建造者模式? 建造者模式属于创建型模式的一员,可以控制对象的实例化过程。建造者模式简化了复杂对象...

  • Java设计模式之建造者模式

    前言 建造者模式在开发中经常用到,看下面一段android代码应该很熟悉 这里就是标准的使用了建造者模式,这样做有...

  • Android设计模式:建造者模式

    将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 (1)Build模式创建实例 定义一个...

网友评论

    本文标题:Android -建造者模式

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