android中重要用到的几种设计模式总结(转)
android中主要用到的几种设计模式总结(转)
1、模板模式,如Activity:
每次新建一个Actiivty时都会覆盖onCreate,onStart等方法,这些方法在
父类中就相当于一个模板
2、观察者模式
Listener都相当于一个观察者,对一些事件的响应都进行观察,当发现有响应就进行做相应的处理 3、单例模式
3. Application 单例模式
目的:
希望对象只创建一个实例,并且提供一个全局的访问点。 结构是简单的,但是却存在一下情况;
1.每次从getInstance()都能返回一个且唯一的一个对象。 2.资源共享情况下,getInstance()必须适应多线程并发访问。 3.提高访问性能。
4.懒加载(Lazy Load),在需要的时候才被构造。
4、适配器模式
适配器模式是一种重要的设计模式,在 android 中得到了广泛的应用。适配器类似于现
实世界里面的插头,通过适配器,我们可以将分属于不同类的两种不同类型的数据整合起来,而不必去根据某一需要增加或者修改类里面的方法。
在 android 中常见的适配器类有: BaseAdapter 、 SimpleAdapter 等 ,首先我们看看 android 应用层是如何使用适配器的:
综合 listview 和 gallery ,发现它们有着类似的实现过程,在 setAdapter 里面获取
适配的 item 的个数,然后通知各自的控件构造这些 item ,构造的时候会通过适配器来获取需要适配的 view 。
5,工厂模式
ndroid中的应用:创建位图
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_search)
这条语句相信我们经常用到,BitmapFactory顾名思义,就是位图工厂,专门用来将制定的图片转化为指定的位图Bitmap。因为图片来源的不同可能导致图片大小,格式类型等的多种多样,这样就导致了生成目标对象的复杂度,因此通过工厂统一的加工成同样大小,类型的”标准件“,大大简化了代码的复杂度与工作量。如activity 的基类父类等,抽象父类来生成对应的实际子类。
6,代理模式
Android系统中利用AIDL定义一种远程服务时就需要用到代理模式。
1、模板模式,如Activity:
每次新建一个Actiivty时都会覆盖onCreate,onStart等方法,这些方法在
父类中就相当于一个模板
2、观察者模式
Listener都相当于一个观察者,对一些事件的响应都进行观察,当发现有响应就进行做相应的处理 3、单例模式
3. Application 单例模式
目的:
希望对象只创建一个实例,并且提供一个全局的访问点。 结构是简单的,但是却存在一下情况;
1.每次从getInstance()都能返回一个且唯一的一个对象。 2.资源共享情况下,getInstance()必须适应多线程并发访问。 3.提高访问性能。
4.懒加载(Lazy Load),在需要的时候才被构造。
4、适配器模式
适配器模式是一种重要的设计模式,在 android 中得到了广泛的应用。适配器类似于现
实世界里面的插头,通过适配器,我们可以将分属于不同类的两种不同类型的数据整合起来,而不必去根据某一需要增加或者修改类里面的方法。
在 android 中常见的适配器类有: BaseAdapter 、 SimpleAdapter 等 ,首先我们看看 android 应用层是如何使用适配器的:
综合 listview 和 gallery ,发现它们有着类似的实现过程,在 setAdapter 里面获取
适配的 item 的个数,然后通知各自的控件构造这些 item ,构造的时候会通过适配器来获取需要适配的 view 。
5,工厂模式
ndroid中的应用:创建位图
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_search)
这条语句相信我们经常用到,BitmapFactory顾名思义,就是位图工厂,专门用来将制定的图片转化为指定的位图Bitmap。因为图片来源的不同可能导致图片大小,格式类型等的多种多样,这样就导致了生成目标对象的复杂度,因此通过工厂统一的加工成同样大小,类型的”标准件“,大大简化了代码的复杂度与工作量。如activity 的基类父类等,抽象父类来生成对应的实际子类。
6,代理模式
Android系统中利用AIDL定义一种远程服务时就需要用到代理模式。