Android设计模式(2)——Builder模式
2017-12-28 16:23
211 查看
一:Builder模式介绍
Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道的内部构建细节的情况下,可以更精确地控制对象的构造流程。该模式是为了将复杂对象的过程全部解耦。使得构建过程和部件的表示隔离开。在项目中我们经常可以看到例如:AlertDialog、Glide等。二:Builder模式使用场景
1.相同的方法,不同的执行顺序,会产生不同的事件结构。2.多个功能,都可以装到一个对象中,产生的运行结果又各不相同。
3.当初始化一个特别复杂,如参数多,并且很多参数都具有默认值。
三:Builder模式总结
Builder模式在Android中比较为常用,通常作为配置类的构建器将配置的构建和表示分离开来,同时也是将配置从目标类中隔离出来,避免过多的set方法。优点:良好的封装性,使用建造者模式可以使客户的不必知道产品内部组成细节。建造者独立,容易扩展,方便维护。
缺点:会产生多余的Builder对象以及Director对象,消耗内存。
四:Builder模式开发示例
public class BuilderPerson { //这里有4个参数 private String name; private String password; private String age; private String id; //私有的,调用者不能直接创建BuilderPerson对象 private BuilderPerson(BuilderProject builderProject){ this.name=builderProject.name; this.password=builderProject.password; this.age=builderProject.age; this.id=builderProject.id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getId() { return id; } public void setId(String id) { this.id = id; } /** 内部类,这里面可以自己定义,如果我想账号和密码必须使用,所以构造方法里面写参数,用final修饰*/ public static class BuilderProject { private final String name; private final String password; private String age; private String id; public BuilderProject(String name, String password){ this.name=name; this.password=password; } public BuilderProject age(String age){ this.age(age); return this; } public BuilderProject id(String id){ this.id(id); return this; } public BuilderPerson build(){ return new BuilderPerson(this); } } }
//Builder模式,这里多个参数根据项目要求可以自己配置 new BuilderPerson.BuilderProject("name","password") .age("男") .id("124563") .build();
相关文章推荐
- Android设计模式之Builder
- Java 设计模式-建造者模式(Builder)Android讲解
- Android设计模式——Builder模式
- 设计模式及在Android中的应用 - Builder模式
- Android 设计模式 笔记 - Builder模式
- Android设计模式---建造者模式(Builder)
- Java[Android]设计模式创建型设计模式之Builder模式+单例模式+原型模式
- Android设计模式源码解析之Builder模式
- Android开发中无处不在的设计模式——Builder模式
- Android设计模式--Builder模式
- Android设计模式——Builder模式
- Android常用的设计模式:Builder模式
- Android 设计模式实战 Builder模式
- Android设计模式——Builder模式
- 设计模式:Android AlertDialog的builder(建造者模式)
- 【AndroidUniversalImageLoader】源码学习之设计模式(Builder,Singleton,Strategy)
- Android设计模式学习(包含Java设计模式)-Builder模式-AJDesignMode03
- Android 中设计模式 ----Builder模式
- Android设计模式——Builder模式 -- 助于理解所有 类似NotificationCompat.Builder [*.Builder] 模式调用
- Android常用设计模式——建造者模式Builder