Android设计模式系列(12)--SDK源码之生成器模式(建造者模式)
来源:互联网 发布:御彩轩计划软件2015 编辑:程序博客网 时间:2024/05/04 09:00
建造者模式把构造和表示分离开,根据客户需求生产一个相应的对象。
本来呢,我们根据Builder接口实现不同的具体的ConcreteBuilder,就可生产不同的对象了。
但是,下面例子的只有一个Builder,所以也没有接口Builder,也没有其他的ConcreteBuilder。
但是我今天要讲的例子太简单,简单到都不觉得是建造者模式,但是又有建造者模式的感觉。
- 意图
将一个复杂对象的构建和它的表示分离,使得同样的创建过程可以创建不同的表示。
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定义抽象父类。
0 0
- Android设计模式系列(12)--SDK源码之生成器模式(建造者模式)
- Android设计模式系列(12)--SDK源码之生成器模式(建造者模式)
- Android设计模式系列(12)--SDK源码之生成器模式(建造者模式)
- 设计模式之建造者模式(生成器模式、Builder)摘录
- 大话设计模式之建造者模式(生成器模式) 建造队与指挥者的纠缠
- 设计模式系列之 建造者模式
- 设计模式系列之建造者模式
- 【设计模式】建造者(生成器)
- c++设计模式(建造者模式(生成器模式))
- 设计模式学习-----建造者模式(生成器模式)
- 设计模式-------------建造者模式(生成器模式)
- JAVA设计模式---建造者模式(生成器模式)
- Android设计模式系列(7)--SDK源码之命令模式
- Android设计模式系列(5)--SDK源码之备忘录模式
- Android设计模式系列(2)--SDK源码之观察者模式
- Android设计模式系列(1)--SDK源码之组合模式
- Android设计模式系列(1)--SDK源码之组合模式
- Android设计模式系列(2)--SDK源码之观察者模式
- 常用u-boot命令详解(全)
- 低效素数算法
- 【hdu】 5640 , 5641 , 5642 , 5643 (BestCoder Round #75)
- js加载一个地方出错造成后续没有编译
- eclipse代码行如何让它显示
- Android设计模式系列(12)--SDK源码之生成器模式(建造者模式)
- hihocoder+枚举,用了fmod函数取模+想了很多复杂化,写程序就是为AC不要想太多!!!
- Java栈与堆
- MySQL数据库导出数据
- 【Leetcode】之Maximum Product Subarray
- 【HDU】 5536 Chip Factory
- VS2013配置Qt5.4
- python中sys.path使用
- Unicode字符编码