当一个类的构造方法中参数过多时, 可以考虑使用Builder模式.
这样做的好处是:
为设置每一个参数提供一个单独的API, 让使用者更明白使用这个参数的意义.
同时, 对这些参数的设置是在内部类Builder中完成的, 在目标类中不提供设置这些属性的值的setter API.这样就保证了目标类的对象在创建后, 这些属性的值不会再发生改变.
典型的使用代码
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle(R.string.simple_list_dialog);
builder.setCancelable(true);
AlertDialog dialog=builder.create();
dialog.show();
AlertDialog对象的创建是由它的内部类AlertDialog.Builder负责完成的.
在AlertDialog对象创建完成后, 它的这些属性值也就无法修改了, 因为在调用了dialog.show();后再去修改这些属性值也没有任何的意义.