- 博客(10)
- 资源 (1)
- 收藏
- 关注
转载 LinkedList的源码
package java.util;public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable{ // 链表的表头,表头不包含任何数据。Entry是个链表类数据结构。 private transien
2016-07-29 18:04:03 308
转载 模版方法模式
定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图:事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和打印,打印功能好
2016-07-26 20:37:10 232
转载 策略模式
定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图:策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式,对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,它与模版方法模
2016-07-26 20:36:16 272
转载 工厂方法模式和抽象工厂模式的区别
区别 工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例。 区别:工厂方法模式只有一个
2016-07-26 20:35:12 348
转载 工厂方法模式
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图:!工厂方法模式代码 interface IProduct { public void productMethod(); } class Product implements IProduct {
2016-07-26 20:33:57 260
原创 单例模式
饿汉式单例 public class Singleton { private static Singleton singleton = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return single
2016-07-26 20:32:34 223
原创 第4条:通过私有构造器强化不可实例化的能力
有时候我们创建一些工具类,这些工具类可能是final的,它的属性和方法都是static声明的。这时候我们不需要实例化这些类,为了防止用户实例化这些类,我们可以使用private声明空构造器private Person(){}避免子类继承后实例化父类
2016-07-26 12:07:34 274
转载 java枚举类型enum的使用
为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型
2016-07-26 10:39:25 375
转载 第3条:用私有构造器或者枚举类型强化Singleton属性
酷 壳 – CoolShell.cn 酷 壳 – CoolShell.cn 单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一
2016-07-26 10:30:28 558
原创 第2条:遇到多个构造器参数时要考虑用构造器
当一个类的有很多的属性时,为它创建构造器可以使用重叠构造器模式,及每一个构造器都比前一个构造器多一个属性。重叠构造器模式可行,但是当有许多参数的时候,客户端代码会很难编写,并且仍然较难以阅读。遇到许多构造器参数的时候,还有第二种代替办法,即JavaBeans模式,在这种模式下,调用一个无参构造器来创建对象,然后调用setter方法来设置每个必要的参数,以及每个相关的可选参数。遗憾的是,
2016-07-26 10:28:51 615
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人