摘要:
恩。很少用到的模式。 基本高级语言,都包含了基本的数据结构。如树,map。list. 所以感觉组合模式。在高级语言基本不会用到。 阅读全文
摘要:
看下他的接口,实在没什么好说。 输入,输出都是集合。 简单,明了,目的明确。 public interface Criteria { public List<Person> meetCriteria(List<Person> persons);} 阅读全文
摘要:
GOF取的名字,有时候名字比模式本身更难懂。 有的如模板模式,都不用看代码,就知道这个模式是做什么的。 而这个bridge,。。看名字,无法知道它想做什么。 无语。看了几次,没看懂。今天看懂了,发现以前用过很多次了。 一句话就是 虚类的虚方法里面又调用了接口的方法,用接口的多态和虚函数的多态来组合多 阅读全文
摘要:
适配器模式非常简单。就是建立一个适配器。 把一个现有的类的对象包含过来,利用现有对象的方法,做一些改动。来满足现在的新需求。 这也是组合思想的最简单的实践。 而android 的adapter.完全不是设计模式的adapter的意思。 可见不一定要满足设计模式的东西才能叫适配器。 google 就把 阅读全文
摘要:
就是clone,就是copy一份自己。 这个倒是非常有用处。很多时候希望用某个数据去测试,又不影响原来数据。那么就需要 克隆。可是原型这个词有点吓人。叫克隆多好。 高级语言,如java的默认clone,对于集合类型是只copy指针。所以需要自己重写clone方法。实现深拷贝。也就是原型。 创建型模式 阅读全文
摘要:
建造者模式是非常自然的想法。 把变化的部分,用接口表示。 也就是ibulider. 之后传入不同的builder. 并调用builder的方法。 这个也叫模式? 就是接口的使用啊。 有点像模板方法。 模板方法是继承虚类,重写虚方法。 这里是实现接口。并传递进去。 阅读全文
摘要:
最简单的反而最常用,用处最大,也一定不会是为了格调高而高。 个人总结,很实用:屏蔽构造函数。 用静态方法,返回静态的自己。 阅读全文
摘要:
第二次体会:让使用对象的一端,不需要知道对象的具体类名,只需要知道工厂类名。随便你对象类如何变化。所以工厂模式不是基本碰不到。而是非常实用。如果需要的一个对象会变动。那么可以用工厂类来隔离变化。把变化放到工厂类中,而调用方只需要知道对外稳定的工厂类就可以。当你面对一个会常修改的类,可以用工厂模式,让变化隔离到工厂类。代码 package com.linson.android.hiandroid2... 阅读全文