1. 意图
将一个复杂对象的构建和它的表示分离,使得同样的创建过程可以创建不同的表示。
2.结构图和代码
android中大量的使用对话框组件,它的调用方法就是构建,拼接,表示。
Builder通过setTitle(),setMessage(),setIcon()等方法在create()中构造出一个AlertDialogInstance对象。
然后客户可以把把AlertDialogInstance对象show出去。
针对这个例子,我有必要通过扩展一下,以正建造者模式之名。
如何扩展?
(1).创建其他的ConcreteBuilder
(2).创建其他的ElseDialog
(3).第1,2步决定了我们最好创建一个抽象的Builder
(4).创建一个Context,把builder注入进去,生产不同的Dialog(或者其他UI)对象。
3.效果
(1).创建型模式
(2).可以生产不同的Dialog,也可以生产其他的UI,生产的Product可以是差别很大的,所以也没必要为Product定义抽象父类。
网友评论