自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Android中的设计模式-职责链模式

在介绍该模式之前,先提一个问题,下图是SQL语句select执行时结果集的流转图,如果让你编写解析该select语句的代码,你会怎样设计方案呢?因为在select语句中,有些字段不一定出现,如group、limit、where等,因此,肯定不能按照固定的语句格式来解析,最常见的方式可能就是,使用大量的if。。else if。。else if。。else。。语句,根据select中实际出现的字段去调...

2018-05-22 13:38:55 447

原创 Android中的设计模式-享元模式

我们在编程实践中,经常会遇到这样的场景:许多类或方法中,用到了一些代码模块,这些代码的逻辑结构完全一样。那么我们一般会对这些代码进行重构,把这些代码抽取出来,组成一个新的方法,并把它放到基类或者工具类中,作为通用方法,这样各个不同的类或方法能同时使用它们来完成功能,显然,这种方式提高了代码的复用性,减少了代码的数量。这个场景就是典型的享元模式场景。该模式的定义非常简单: 运用共享技术有...

2018-05-18 14:24:59 593

原创 Android中的设计模式-桥梁模式

“假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。”——荀子《劝学》。 美国好莱坞电影有《蜘蛛侠》、《蝙蝠侠》,无非就是让人具有了某种动物的能力,从而“能力越大、责任越大”,如果换成面向对象术语的话,就是“人”类继承了“蜘蛛”类和“蝙蝠”类,从而具有了它们的功能。按照这个思路发展,如果人类要想渡海过江,就得继承鱼类,人类要想远行,就得继承马类,于是电影《鲨鱼...

2018-05-16 14:49:10 617 1

原创 Android中的设计模式-命令模式

两位大侠均系出名门,适配器大侠身为结构教长老,而策略大侠位居行为派护法。二侠虽然门派不同,素昧平生,却也一见如故,把酒言欢之余,心意相通,准备合奏一曲助兴。只见适配器大侠使出乾坤大挪移,无论何种乐器,或吹、或拉、或弹、或敲,不管音调如何,或轻、或重、或缓、或急,都被他一一化解为一种和音,无不处处落在策略大侠的旋律上。丝丝入扣,不差毫厘,冥冥之中自有天意,“适配器”大侠与“策略”大侠竟然合成了一首《...

2018-05-16 13:10:27 311

原创 Android中的设计模式-备忘录模式

公元1722年,康熙皇帝驾崩于北京畅春园,步军统领隆科多取出了藏在正大光明匾额后面的遗诏,宣布四阿哥胤禛克承大统,继承皇位,天朝帝国从此走进了新时代。康熙为什么采用遗诏,而不是自己宣布继承人?还不是为了防止出现意外:躲猫猫、马航370、相亲遇到翟欣欣、被闺蜜锁在门外…;别人能够知道和篡改遗诏的内容吗?别人敢吗?!这样康熙使用遗诏的方式,在龙驭宾天后,恢复了“皇帝类”的另一个对象实例:雍正。康熙爷在...

2018-05-16 10:33:23 859

原创 Android中的设计模式-观察者模式

沛公军霸上,未得与项羽相见。沛公左司马曹无伤使人言于项羽曰:“沛公欲王关中,使子婴为相,珍宝尽有之。”项羽大怒曰:“旦日飨士卒,为击破沛公军!”……项伯乃夜驰之沛公军。——《史记·项羽本纪》 曹无伤是项羽安插在刘邦身旁的“卧底”,也就是项羽向刘邦注册的一个“观察者”,在“主题”刘邦状态改变时:“沛公欲王关中”,向“订购者”项羽发送通知:“使人言于项羽”。 不过,虽然鸿门宴上杀机重重,但刘邦最后...

2018-05-15 14:33:47 220

原创 Android中的设计模式-模板方法模式

“浓眉大眼好干部,尖嘴猴腮狗特务,好人机枪打不死,坏蛋一枪就玩完!”,拍摄革命题材电影是有套路(模板)的,每当共产党员中枪了,要牺牲在战友怀中的时候,我们知道此时该有经典场景了:有的电影是“部队和群众都安全转移了吗?”,有的电影是“这是我的党费”,。。。不管哪种形式,用在这个场景肯定合适,然后就安详地闭上了双眼。这就是模板方法模式在电影中的应用,它是属于行为型: 在一个方法中定义一个算...

2018-05-15 14:16:19 548

原创 Android中的设计模式-策略模式

大道至简,越是简单就越接近事物的本质。策略模式是非常简单的一个模式,属于行为型模式。 定义一系列的算法,把它们一个个封装起来,而且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。下面是它的结构类图: - 策略接口(Strategy):定义所有算法的公共接口。Context使用这些接口来调用具体的策略类。 - 具体的策略实现(Concrete Strate...

2018-05-15 13:29:16 499

原创 Android常见优化方式-避开高峰期

现在随着私家车越来越多,交通阻塞成为家常便饭,为了缓解交通压力,一些城市采取了交通限行方式,比如北京禁止外地牌照的汽车在工作日期间早晚高峰期进入五环,等到车流高峰期过去之后再上路。如果把Android应用程序比作是一座城市的话,把CPU和内存等资源看作是城市的交通道路,把组成应用程序的各个功能模块,比如UI、后台服务、等看作是汽车,它们运行的时候看作是汽车上路行驶。那么我们编程实践时,...

2018-05-15 12:34:43 296

原创 Android常见架构模式-依赖注入模式

我们来设想一下使用Android框架来实现UI界面,应该是什么样的过程。正常的思路可能是这样的:首先要为Android框架定义一个派生类,如Activity的子类,或者实现一个接口类,如View类定义的OnXxxListener()接口类;其次,创建这些类的对象实例;接着,把对象实例注册到框架中去;最后,由框架根据需要调用这些应用层实现的接口方法。涉及到应用层的操作共有三个步骤:1、定义类...

2018-05-15 10:20:49 1371

原创 Android常见架构模式-反向控制模式

我们在编写应用程序时,经常使用代码库(Library)和框架(Framework)。代码库是一组静态代码的集合,一般是没有状态的,模块和模块之间也没有关联,都是独立的,应用程序在使用代码库提供的功能时,直接调用就行了,库都是被动的,不会参与或控制应用程序的业务流程;而框架与代码库有所不同,它有两个典型性的特征:一是通过扩展而不是修改框架来添加新功能(OCP原则),二是使用框架实现的应用程序控制流由...

2018-05-15 09:48:50 1507

原创 Android常见优化方式-SparseArray

        在Android应用开发SDK中,有一个SparseArray类实现了HashMap的相似功能,如果key值的类型是int时,可以使用它来替代HashMap,以达到节省内存的目的。SparseArray采用的是有序数组来保持数据,而且是两个有序数组,一个用于保存int型的key值的数组keys,另一个用于保存value值的数组values,key值和value值在两个数组中的位置是...

2018-05-11 14:08:04 744

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除