设计模式之建造者模式
建造者模式,同样是一种创建型模式,用来创建对象。
建造者模式在Android API中随处可见,譬如 AlertDialog 的对象创建过程,通常可见AlertDialog.Builder ,这种方式就是使用的建造者模式。
为了说明建造者模式,辅以Android代码:
1 longinDialog = new AlertDialog.Builder(mContext)
2 .setTitle("登录框")
3 .setView(longinDialogView)
4 .setPositiveButton("确定", this)
5 .setNeutralButton("取消", this)
6 .create();
这是一段很简单的Android开发中 创建对话框的代码,可以看到它把dialog这个复杂的对象的表示和创建分离开来了。
建造者模式的精髓就在于: 将构造复杂对象的过程 和 组成对象的部件解耦了。就像是攒电脑一样,不管什么品牌的配件,只要兼容就可以装上,同样,一样的配件,可以有好多种组装的方式。这对于降低耦合、提高可复用性的精神是相通的。
下面祭出建造者模式的类图:
建造模式可以使得产品内部的表象独立变化。在原来的工厂方法模式中,产品内部的表象是由产品自身来决定的,而在建造模式中则是“外部化”由建造者来负责。