Android开发过程中用到的设计模式
2016-03-11 23:41
423 查看
1、模板模式
如Activity: 每次新建一个Actiivty时都会覆盖onCreate,onResume,onStart等方法,这些方法在 父类中就相当于一个模板。
2、观察者模式
Listener都相当于一个观察者,对一些事件的响应都进行观察,当发现有响应就进行做相应的处理
3、单例模式
Application 单例模式
目的: 希望对象只创建一个实例,并且提供一个全局的访问点。 结构是简单的,但存在以下情况;
1.每次从getInstance()都能返回一个且唯一的一个对象。
2.资源共享情况下,getInstance()必须适应多线程并发访问。
3.提高访问性能。
4.懒加载(Lazy Load),在需要的时候才被构造。
4、适配器模式
适配器模式是一种重要的设计模式,在 android 中得到了广泛的应用。适配器类似于现实世界里面的插头,通过适配器,我们可以将分属于不同类的两种不同类型的数据整合起来,而不必去根据某一需要增加或者修改类里面的方法。 在 android 中常见的适配器类有: BaseAdapter 、 SimpleAdapter 等 ,首先我们看看 android 应用层是如何使用适配器的: 综合 listview 和 gallery ,发现它们有着类似的实现过程,在 setAdapter 里面获取适配的 item 的个数,然后通知各自的控件构造这些 item ,构造的时候会通过适配器来获取需要适配的 view 。
5、工厂模式
创建位图 Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_search)
这条语句相信我们经常用到,BitmapFactory顾名思义,就是位图工厂,专门用来将制定的图片转化为指定的位图Bitmap。因为图片来源的不同可能导致图片大小,格式类型等的多种多样,这样就导致了生成目标对象的复杂度,因此通过工厂统一的加工成同样大小,类型的”标准件“,大大简化了代码的复杂度与工作量。如activity 的基类父类等,抽象父类来生成对应的实际子类。
6、代理模式
Android系统中利用AIDL定义一种远程服务时就需要用到代理模式。
如Activity: 每次新建一个Actiivty时都会覆盖onCreate,onResume,onStart等方法,这些方法在 父类中就相当于一个模板。
2、观察者模式
Listener都相当于一个观察者,对一些事件的响应都进行观察,当发现有响应就进行做相应的处理
3、单例模式
Application 单例模式
目的: 希望对象只创建一个实例,并且提供一个全局的访问点。 结构是简单的,但存在以下情况;
1.每次从getInstance()都能返回一个且唯一的一个对象。
2.资源共享情况下,getInstance()必须适应多线程并发访问。
3.提高访问性能。
4.懒加载(Lazy Load),在需要的时候才被构造。
4、适配器模式
适配器模式是一种重要的设计模式,在 android 中得到了广泛的应用。适配器类似于现实世界里面的插头,通过适配器,我们可以将分属于不同类的两种不同类型的数据整合起来,而不必去根据某一需要增加或者修改类里面的方法。 在 android 中常见的适配器类有: BaseAdapter 、 SimpleAdapter 等 ,首先我们看看 android 应用层是如何使用适配器的: 综合 listview 和 gallery ,发现它们有着类似的实现过程,在 setAdapter 里面获取适配的 item 的个数,然后通知各自的控件构造这些 item ,构造的时候会通过适配器来获取需要适配的 view 。
5、工厂模式
创建位图 Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_search)
这条语句相信我们经常用到,BitmapFactory顾名思义,就是位图工厂,专门用来将制定的图片转化为指定的位图Bitmap。因为图片来源的不同可能导致图片大小,格式类型等的多种多样,这样就导致了生成目标对象的复杂度,因此通过工厂统一的加工成同样大小,类型的”标准件“,大大简化了代码的复杂度与工作量。如activity 的基类父类等,抽象父类来生成对应的实际子类。
6、代理模式
Android系统中利用AIDL定义一种远程服务时就需要用到代理模式。
相关文章推荐
- Android-面向Holder编程
- Android 之Service
- Android 之Overview Screen(任务列表)
- Android 之Tasks和Back Stack(任务和返回栈)
- Android Stutio 提示错误:Plugin is too old, please update to a more recent version......的解决办法
- PHPer转战Android的学习过程以及Android学习
- Android Uri介绍
- Android Studio初接触
- Android 框架之创建设备节点文件
- [置顶] 设置android studio启动时不检查sdk Android studio启动时总是在找AndroidSDK的解决办法
- 设计模式在Android中的应用
- android 用相机照相并剪裁图片
- 安卓开发中非常炫的效果集合
- Android Material Design(3) CardView的使用
- 在adb中给android文件开通所有权限
- Android view手势拖动和缩放
- android 自定义坐标曲线图
- Android Studio插件-自动根据布局生成Activity等代码(插件代码开源)
- Mars《Android开发视频教程》
- Android控件第4类——ProgressBar