摘要: 建造者模式把构造和表示分离开,根据客户需求生产一个相应的对象。本来呢,我们根据Builder接口实现不同的具体的ConcreteBuilder,就可生产不同的对象了。但是,下面例子的只有一个Builder,所以也没有接口Builder,也没有其他的ConcreteBuilder。但是我今天要讲的例子太简单,简单到都不觉得是建造者模式,但是又有建造者模式的感觉。1. 意图将一个复杂对象的构建和它的表示分离,使得同样的创建过程可以创建不同的表示。2.结构图和代码android中大量的使用对话框组件,它的调用方法就是构建,拼接,表示。Builder通过setTitle(),setMessage(), 阅读全文
posted @ 2013-04-19 17:35 谦虚的天下 阅读(9527) 评论(4) 推荐(1) 编辑
摘要: 策略模式其实特别简单(听到这句话,大家是不是心里一下子放松了?)。比如排序,官方告诉大家我这里有一个排序的接口ISort的sort()方法,然后民间各尽其能,实现这个排序的方法:冒泡,快速,堆等等。这些方法就是“不同的策略”。然后,某个模块下,需要一个排序方法,但是暂时不能指定具体的sort方法(出于扩展的考虑),就需要使用ISort接口了。最后,具体什么场景下,传入什么具体的sort方法,实现灵活的排序。这就是策略模式!下面,我们分析Android中的动画是如何使用策略模式的。1. 意图定义一系列的算法,把它们一个个封装起来,并且使它们可互相替换。策略模式使得算法可独立于使用它的客户而变化。 阅读全文
posted @ 2013-04-19 10:56 谦虚的天下 阅读(9602) 评论(2) 推荐(0) 编辑