目的:
如果你的对象相对复杂,那么就应该考虑对象的构建和它的表现相分离。目的是为了同样的构建过程可以创建不同的表示。
在android中我们创建dialog的时候就是建造者模式的最好体现。
AlertDialog alertDialog = new AlertDialog.Builder(getContext()).setView(new EditText(getContext())).create();
我们先来看看android源码中实现builder模式是如何实现的,这里我借鉴朋友的博客java设计模式——-Builder模式里面的一个构建复杂数据的例子来说明:
public class NutritionFacts {
private int servingSize = 0; // 食用份量
private int servings; // 份数
private int calories; // 卡路里
private int sodium; // 钠
private int fat; // 脂肪
private int carbohydrate; // 碳水化合物
public static class Builder {
private int servingSize = 0; // 食用份量
private int servings; // 份数
private int calories; // 卡路里
private int sodium; // 钠
private int fat; // 脂肪
private int carbohydrate; // 碳水化合物
public Builder(int servingSize, int servings) {
this.servingSize = servingSize;