1.概念: 建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离。(将一个复杂对象的构建与表示分离)
2.使用场景:当构造一个对象需要很多参数的时候,并且参数的个数或者类型不固定的时候,builder模式就是一个很好的选择。
3.UML结构图分析
builder最重要的一个思想就是将一个复杂对象的构建与表示分离。
1.Builder:它为创建一个产品Product对象的各个部件指定抽象接口;
2.ConcreteBuilder:它实现了Builder接口,实现各个部件的具体构造和装配方法;
3.Product:它是被构建的复杂对象,包含多个组成部件;
4.Director:指挥者又称为导演类,它负责安排复杂对象的建造次序,指挥者与抽象建造者之间存在关联关系
builder模式的优点:
松散耦合:生成器模式可以用同一个构建算法构建出表现上完全不同的产品,实现产品构建和产品表现上的分离。
可以很容易的改变产品的内部表示
更好的复用性:生成器模式很好的实现构建算法和具体产品实现的分离。
builder模式的缺点:
会产生多余的Builder对象以及Director对象,消耗内存
对象的构建过程暴露。
builder模式在Android中的实际运用
1.AlertDialog
2.Glide/okhttp