最新发布 第3页

爱上极客闫庚哲的个人博客 —— 一只程序猿

设计模式

Java设计模式——外观模式(门面模式)

cambrian.render('head')动机 适配器模式是为了将一个类的接口转换成另一个符合用户期望的接口。现在想改变成一个新的接口,目的是简化接口,用一个统一的接口来访问子系统中的一群接口,这就是外观模式(门面模式)的动机,将一切复杂的都隐藏在背后,只显露出一个干净美好的...

yan 2017 年 5 月 24 日 160℃ 0评论 0喜欢

设计模式

Java设计模式——装饰模式

cambrian.render('head')动机 对客户透明的方式动态地给一个对象附加上更多的责任(行为),换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。这就是装饰模式的模式动机。 定义 动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功...

yan 2017 年 4 月 23 日 197℃ 0评论 0喜欢

设计模式

Java设计模式——桥接模式

cambrian.render('head')动机 有圆形、矩形2个形状,还有红色、绿色2个颜色。如果想实现不同形状和不同颜色的组合,我们有两种方案:第一种,为每一种形状的每一种颜色设计一个类,问题冗余,类过多;第二种,根据实际的需要,对形状和颜色进行组合。 第二种方案就是最佳方...

yan 2017 年 3 月 22 日 115℃ 1评论 0喜欢

设计模式

Java设计模式——适配器模式

cambrian.render('head')动机 将一个类的接口,通过适配器转换成另外一个期望的接口。(使原本不兼容的接口 而能够相互兼容一起工作)这就是适配器模式的模式动机。 接口A(实际接口)  ===适配器(转换的过程)====》 接口B(不同的,期望的接口) 比如: 三...

yan 2017 年 2 月 21 日 179℃ 0评论 0喜欢

设计模式

Java设计模式——单例模式

cambrian.render('head')动机 有些系统中只有一个实例工作很重要,比如递增ID的生成器,多个线程使用该生成器要保证生成唯一递增的ID,那必然需要调用同一个生成器,如何保证大家调用的都是同一个实例呢? 让类自身保存它的唯一实例,该类不可以实例化出实例,但是对外提...

yan 2017 年 1 月 19 日 124℃ 0评论 2喜欢

设计模式

Java设计模式——建造者模式

cambrian.render('head')动机 说道建造者肯定联想到建筑工人,比如在建筑一个茅草屋和一个砖瓦房时,过程一样只是用的材料不同。比如第一步建立地基:茅草屋用工具,砖瓦房用机器;第二步建立框架:茅草屋用树木,砖瓦房用混凝土;第三步建立房屋:茅草屋用茅草,砖瓦房用砌砖...

yan 2016 年 10 月 18 日 75℃ 0评论 2喜欢

设计模式

Java设计模式——简单工厂、工厂方法、抽象工厂

cambrian.render('head')简单工厂模式 一个工厂实现类,一个产品抽象类,N个产品实现类。 类图: 时序图: 像工厂一样,可以生产出来多个产品。比如一个按钮工厂,可以生产出来圆形按钮、矩形按钮、三角形按钮等等,但是所有的按钮都继承自原始的按钮抽象基类。 特点...

yan 2016 年 10 月 5 日 597℃ 14评论 2喜欢

Java进阶

HashMap源码学习——实现原理

cambrian.render('head')HashMap介绍 HashMap是基于哈希链表的Map接口的非同步实现。允许使用null值和null键,存储是无序的,是按照哈希散列排序的。 数据结构 最基本的结构是链表散列,如图由两部分组成:数组和链表。HashMap的底层就是...

yan 2016 年 8 月 30 日 736℃ 6评论 8喜欢

实战应用

SVN代码合并——冲突解决

cambrian.render('head')SVN 在项目的开发中,SVN是一个很有用,使用的也很多的一款代码管理软件。当单独开发时,通过对版本的管理控制,可以使代码进行回溯等操作。但是一旦变成了多人开发时,新问题出现了——代码的合并。 冲突的产生 svn目前已经很智能了,在多...

yan 2016 年 8 月 29 日 1443℃ 3评论 3喜欢