建造者模式个人理解是指把构造和表示分离开,根据具体需求生产出相对应的对象;
ConcreteBuilder 是Builder接口的具体实现类通过它就可以产生不同的对象;
首先
1 意图:将一个复杂的对象的构建和他的表示分离,使得同样的方式可以创建符合实际开发需求的表示;
2结构图和代码:
eg:
通过android sdk 源码我们可以看到 android的大量的使用对话框组件,它的调用方法就是构建,拼接,表示 ;
Builder 通过setTitle() setMessage(),setIcon()等方法(构建)在create()中构造
(拼接)出一个AlertDialogInstance对象。
调用者只需要根据实际需求把AlertDialogInstance对象show出去(表示)。
分析总结一下:
(1)创建其它的ConcreteBuilder
(2) 创建其它的ElseDialog;
(3) 通过1 2 步我们就可以完成我们的抽象化的Builder
(4) 创建一个Context,把Builder注入进去生产出符合需求的Dialog (或者其它UI)对象。
个人观点小小的总结,希望大神路过不要吐我口水!欢迎各种评论和讨论!
来源:oschina
链接:https://my.oschina.net/u/1258394/blog/176657