Android经常用到的设计模式
2016-09-26 11:08
260 查看
俺知道java的设计模式很多,但是今天我要说的就是几种最常见的设计模式,简单用我自己的语言将我自己的理解说出来,希望对大家能有所帮助,如果您看到了并且帮助到了您,请为http://www.921kf.com网点赞,转发谢谢。
1、单例模式,这个我们最常见的了,只要你从事开发就会遇到,单例单例,意思就是整个app他都只能有一个对象,单例总共有7种(具体大家可以百度一下,有五种很少用,所以我也记不住),最常用的有两种,一种懒汉式,当有用户调用发现为空才会去new一个对象出来,另外一个饿汉式,上来直接用成员变量给new出来了,不过我个人一般都是用懒汉式。
2、工厂设计模式,相信大家一定用过bitmapFactory这个类,他有很多构造bitmap的函数,只要你把他需要的参数传给他,他就能把bitmap返回给你,你不需要知道他是怎么搞的,反正只要你传他想要的,他就能给你你想要的,这个也是非常符合面向对象的编程思想的,只要你封装的够好,工厂模式能给你剩下很多的代码量。
3、观察者模式,说到观察者就一定有被观察者,当被观察者订阅了观察者的时候,观察者才会一直观察被观察者(这个观念有点绕,但是大家一定要把这个设计模式搞清楚),这个设计模式我会具体给大家讲讲,因为涉及到目前Android最火的架构模式 响应式编程。
举个简单的例子,当我们开车上路的时候,一般只要我们不违反交通规则,不会有什么,但是交警一般会死死盯着我们,只要我们违反了,立马就能找到我们,然后罚款,其实当我考到驾照,开车以后就等于订阅了这个服务,他会告诉我们什么该做什么不该做,再比如我们订阅公众号,我们预定手机都是很鲜明的例子。
下面我们就说到rxjava响应式编程了,Observable和subscribe这两个,每个app都有必须用到子线程的东西 用了子线程就肯定要切换到主线程,比如说查询比较大的数据,网络请求了,读取本地文件内容了等等,很多人可能说new Thread 和message、handler我用的也不错啊,是,但是太不方便了,每次都要搞这一套,用了他以后代码立马优雅起来了,逼格都高起来了,目前最火的应该就是mvp+Rxjava+retrofit编程了,笔者目前用的就是这种模式在开发。
4、适配器模式,相信大家都用过BaseAdapter,adapter的意思就是适配器,最常用的listView,grideView,RecyclerView 这三种都用到适配器,大家有没有发现,当我们用了适配器以后,就把listView gv rv和list、array这些数据绑定在了一起,没错,所谓的适配器模式,就是把原本无法在一起工作的两种类通过适配器(以接口的方式)绑定在一起,能够一起工作,这就是适配器模式
5、装饰模式,Android里面最经典的装饰模式,就是Context了,他不管他的装饰者ContextWrapper怎么装饰,反正最后只要返回的是他Context就行了,有没有向一个android一个特性
原文地址:http://www.921kf.com/thread-13-1-1.html
1、单例模式,这个我们最常见的了,只要你从事开发就会遇到,单例单例,意思就是整个app他都只能有一个对象,单例总共有7种(具体大家可以百度一下,有五种很少用,所以我也记不住),最常用的有两种,一种懒汉式,当有用户调用发现为空才会去new一个对象出来,另外一个饿汉式,上来直接用成员变量给new出来了,不过我个人一般都是用懒汉式。
2、工厂设计模式,相信大家一定用过bitmapFactory这个类,他有很多构造bitmap的函数,只要你把他需要的参数传给他,他就能把bitmap返回给你,你不需要知道他是怎么搞的,反正只要你传他想要的,他就能给你你想要的,这个也是非常符合面向对象的编程思想的,只要你封装的够好,工厂模式能给你剩下很多的代码量。
3、观察者模式,说到观察者就一定有被观察者,当被观察者订阅了观察者的时候,观察者才会一直观察被观察者(这个观念有点绕,但是大家一定要把这个设计模式搞清楚),这个设计模式我会具体给大家讲讲,因为涉及到目前Android最火的架构模式 响应式编程。
举个简单的例子,当我们开车上路的时候,一般只要我们不违反交通规则,不会有什么,但是交警一般会死死盯着我们,只要我们违反了,立马就能找到我们,然后罚款,其实当我考到驾照,开车以后就等于订阅了这个服务,他会告诉我们什么该做什么不该做,再比如我们订阅公众号,我们预定手机都是很鲜明的例子。
下面我们就说到rxjava响应式编程了,Observable和subscribe这两个,每个app都有必须用到子线程的东西 用了子线程就肯定要切换到主线程,比如说查询比较大的数据,网络请求了,读取本地文件内容了等等,很多人可能说new Thread 和message、handler我用的也不错啊,是,但是太不方便了,每次都要搞这一套,用了他以后代码立马优雅起来了,逼格都高起来了,目前最火的应该就是mvp+Rxjava+retrofit编程了,笔者目前用的就是这种模式在开发。
4、适配器模式,相信大家都用过BaseAdapter,adapter的意思就是适配器,最常用的listView,grideView,RecyclerView 这三种都用到适配器,大家有没有发现,当我们用了适配器以后,就把listView gv rv和list、array这些数据绑定在了一起,没错,所谓的适配器模式,就是把原本无法在一起工作的两种类通过适配器(以接口的方式)绑定在一起,能够一起工作,这就是适配器模式
5、装饰模式,Android里面最经典的装饰模式,就是Context了,他不管他的装饰者ContextWrapper怎么装饰,反正最后只要返回的是他Context就行了,有没有向一个android一个特性
原文地址:http://www.921kf.com/thread-13-1-1.html
相关文章推荐
- Android中用到的几大设计模式
- android源码中用到的设计模式
- 经常使用的android设计模式
- shape和selector是Android UI设计中经常用到的
- Android中用到的设计模式?
- Android中用到的设计模式
- Android中用到了哪些设计模式?
- 一些经常用到的游戏设计模式
- Android开发过程中用到的设计模式
- Android 经常使用设计模式(一)
- Android底层代码中用到的几种设计模式
- Android中用到的设计模式
- Android经常使用设计模式(二)
- Android中设计模式无处不在之单例模式
- Android开发之Java设计模式入门篇
- Android Ap 开发 设计模式第五篇:单件模式 推荐
- Android Ap 开发 设计模式第四篇:工厂方法模式
- Android Ap 开发 设计模式第三篇:模板方法模式 推荐
- Android Ap 开发 设计模式第一篇:迭代器模式
- android 数据库技术 | 文件系统,SDCARD访问,CONTENT PROVIDER,SQLITE ,CURSOR操作,CURSOR适配器,SQLITEHELPER,数据库设计模式