自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 中介者模式(行为型)

中介这个词在我们听的不要太多了,印象最深刻的莫过于房产中介了,你看见一个穿着西装打着领带的人迈着疾快的步伐向你走来,别担心,他只是想问问你买不买房。   在使用手机远距离通话时,手机也可以看做是中介:一个人在哈尔滨,一个人在三亚,他们要交流靠喊是不可能的,只有通过手机来进行,在哈尔滨的把要说的话告诉手机,手机通过无线传输将信息传到在三亚的手机上,在三亚的人就可以听到在哈尔滨的说的话了...

2017-01-23 16:25:55 274

原创 适配器模式(结构型)

定义:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作结构:目标角色:期待得到的接口源角色:需要适配的接口适配器角色:把源接口转换成目标接口适用场景:需要一个统一的输出接口,而输入端的类型不可预知系统需要使用现有的类,而此类的接口不符合系统的需要(接口不兼容)想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的

2017-01-23 15:38:46 215

原创 桥接模式(结构型)

定义:将抽象部分与实现部分分离,使他们都可以独立的进行变化结构:抽象部分:抽象类,保持一个对实现部分对象的引用,抽象部分中的方法需要调用实现部分的对象来实现优化抽象部分:抽象部分的具体实现,对抽象部分的方法进行完善和扩展实现部分:接口或者抽象类,由实现部分提供基本的操作,抽象部分的定义基于实现部分这些基本操作的业务方法具体实现部分:完善实现部分中方法定义的具体逻辑适用场景:需要跨越多个平

2017-01-23 13:41:20 312

原创 装饰模式(结构型)

定义:动态地给一个对象添加一些额外的职责,是继承关系的一个替代方案结构:抽象组件:被装饰的原始对象抽象,接口或者抽象类具体组件:组件的具体实现,是装饰的具体对象抽象装饰者:装饰组件对象,内部有一个指向组件对象的引用,通常为抽象类具体装饰着:装饰着具体实现适用场景:需要透明且动态扩展类的功能时...

2017-01-22 17:24:16 246

原创 外观模式(结构型)

外观模式在我们身边是最常见的了。就拿手机来说,手机中有各种模块,相机,gps,通信,音视频等等,这些全部集成到手机上,只要在手机上点点屏幕就可以轻松使用这些功能。还有各种第三方SDK,这些SDK往往会提供一个统一的接口供我们调用,让开发者很轻松的就可以将SDK集成到自己的系统中。定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行;提供一个高层次的接口,使得子系统更易于使用...

2017-01-20 11:17:26 213

原创 享元模式(结构型)

在软件系统中,经常会出现资源浪费的情况,例如在计算机内存中同时存在多个完全相同的或者非常相似的对象,当这些对象的数量很多,会占用很多的内存,并且重复的创建和销毁,使得GC任务繁重,内存占用居高不下,这使得系统运行代价过高。为了解决这个问题,可以将已经创建的对象的缓存起来,当下一次要再要创建新对象时,先判断缓存池中是否已经存在该对象了,如果存在就直接拿出来用,如果不存在,就新实例化一个对象——享元模式....

2017-01-15 23:29:59 294

原创 访问者模式(行为型)

  在实际开发中也会遇到这种情况,有一个属性类E,有abcd四个属性,另外有四个类ABCD,要去访问类E,A只访问属性a,B只访问属性b,C只访问属性c,D只访问属性d。这时候访问者模式就派上用场了。定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。结构:抽象访问者:声明对每一个元素访问的行为方法,方法个数与元素个数一样...

2017-01-14 23:53:42 292

原创 备忘录模式(行为型)

有许多人喜欢玩单机游戏,单击游戏都有一个存档功能,把当前的所有状态保存下来,下次打开游戏只要读取这个存档信息就可以还原到上次玩的地方。还有一个我们在文本编辑时最常使用的快捷键Ctrl+Z,撤销本次操作,返回到上一个状态。这所体现的就是备忘录模式。定义:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态结构...

2017-01-14 22:35:51 245

原创 代理模式(结构型)

快递员:王先生您好,这里有您你的快递,麻烦来签收一下。 隔壁老王:我现在有事情走不开,你把快递放在小区物业那里,让他们代收一下。 快递员:好的。   上面的场景就是代理模式

2017-01-13 00:30:50 190

原创 组合模式(结构型)

在电脑磁盘里有文件和文件夹,文件夹里又可以放文件和文件夹,这个磁盘可以看做是一个树状结构,磁盘里的文件可以看做叶子,文件夹看做枝干。文件夹其实也是文件的一种形式,对它们可以进行相同的操作(复制、粘贴、删除)。   再来说说Android中的View和ViewGroup,ViewGroup是继承于View,因此ViewGroup和View可以同等看待。不同的是ViewGroup是一个容器,里面可以放....

2017-01-12 00:27:56 346

原创 解释器模式(行为型)

大家都知道,写好的代码放到无法直接运行,必须要经过编译后才能运行。java代码需要编译成class(java字节码)文件才能放在jvm上运行,java代码只有经过javac编译器编译后jvm才能认识。javac编译器在这里扮演的就是解释器的角色。xml解析器也是同样的道理,还有tomcat解析war包运行web项目,android中PackageManager解析apk安装app等等,都运用了解释器...

2017-01-10 21:00:36 248

原创 六大设计原则

面向对象设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于扩展和修改。在程序开发中,适当的运用设计模式可以开发一个易于维护和扩展的系统。当然,关键还是在于封装。

2017-01-10 00:48:36 195

原创 迭代器模式(行为型)

在java中容器有List、数组、Set、Map等等。这四种容器内部的组织方式都不一样,List是列表形式,Set是集合形式,Map是键值对形式。现在要去遍历一个容器里的内容,首先要了解内容在容器中的组织形式;在jdk中已经实现了List、Set、Map的迭代器,迭代器后,就不用去了解内容的组织形式了,直接用迭代器的 hasnext()和next()完成遍历。

2017-01-07 21:59:48 233

原创 策略模式(行为型)

&emspo; 从北京到上海,可以坐高铁,可以坐绿皮,可以自己开车,也有个别人可能选择步行的方式。总之就是有很多种方式可以供我们选择,选择的方式不同,过程不同,但结果都是一样的,都可以从北京到上海,只要选择适合的就可以了,高铁贵但快,绿皮便宜但慢,自己开车累但方便。   在开发中也经常碰到这种情况,例如要对一个数组进行排序,可选择不同的方法.....

2017-01-07 13:45:56 284

原创 状态模式(行为型)

在很多种情况下,一个对象的行为取决于一个或多个动态变化的属性,这些属性称为状态。例如水,液态时可以流动,气态时可以扩散,结冰时成了固态,这时既不能流动也不能扩散。例如使用键盘输入字符,当Caps Lock开启时,处于大写状态,这时输入的是大写字母,当Caps Lock关闭时,输入的是小写字母。例如用手机打电话,有信号并且话费充足时,才可以打电话,当没信号或者是处于欠费状态,就无法打电话了。

2017-01-03 14:39:01 237

android增量更新

这是android增量更新demo

2017-02-08

空空如也

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

TA关注的人

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