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