1、适配器模式:ListView或GridView的Adapter
简介:不同的数据提供者使用一个适配器来向一个相同的客户提供服务。
2、建造者模式:AlertDialog.Builder
简介:可以分步地构造每一部分。
3、命令模式:Handler.post后Handler.handleMessage
简介:把请求封装成一个对象发送出去,方便定制、排队、取消。
4、观察者模式:通过BaseAdapter.registerDataSetObserver和BaseAdapter.unregisterDataSetObserver两方法来向BaseAdater注册、注销一个DataSetObserver。这个过程中,DataSetObserver就是一个观察者,它一旦发现BaseAdapter内部数据有变量,就会通过回调方法DataSetObserver.onChanged和DataSetObserver.onInvalidated来通知DataSetObserver的实现类。事件通知也是观察者模式,广播机制也是观察者模式。
简介:一个对象发生改变时,所有信赖于它的对象自动做相应改变。
5、原型模式:比如我们需要一张Bitmap的几种不同格式:ARGB_8888、RGB_565、ARGB_4444、ALAPHA_8等。那我们就可以先创建一个ARGB_8888的Bitmap作为原型,在它的基础上,通过调用Bitmap.copy(Config)来创建出其它几种格式的Bitmap。另外一个例子就是Java中所有对象都有的一个名字叫clone的方法,已经原型模式的代名词了
6、代理模式:类似于ios开发的delegate委托模式,所有的AIDL都一个代理模式的例子。假设一个Activity A去绑定一个Service S,那么A调用S中的每一个方法其实都是通过系统的Binder机制的中转,然后调用S中的对应方法来做到的。Binder机制就起到了代理的作用。
7、抽象工厂模式
DAO与Service的使用
8、单例模式:application· 、InputMethodManager 等,一般用synchronized关键字,在多线程的环境下,单例模式为了保证自己实例数量的唯一,必然会做并发控制。