05 2017 档案
摘要:一、定义 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式又被称为发布-订阅模式(publish-subscribe)。 对于一个目标对象,其观察者可以是多个,当然也可以只有一个。 二、类图 Subject(目标接口)、Concre
阅读全文
摘要:一、定义 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 二、类图 三、示例 现在我们自己来写个demo并应用上模板方法模式。 借用网上的例子。把大象装进冰箱分三步:1、把冰箱门打开; 2、把大象装进去; 3、把
阅读全文
摘要:说明:基于jdk1.7源码 TreeMap是基于红黑树实现的,关于红黑树的介绍可以参考:排序二叉树、平衡二叉树和红黑树 一、概述 Map接口的实现有HashMap、LinkedHashMap、TreeMap等。 HashMap不保证数据有序 LinkedHashMap保证数据可以保持插入顺序 而如果
阅读全文
摘要:一、排序二叉树(Binary Sort Tree,BST树) 二叉排序树,又叫二叉搜索树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree)。 1.BST树的特点 排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树: 若它的左子树不空,则左
阅读全文
摘要:单例模式的主要作用,是保证在应用程序中一个类只会有一个实例存在。典型的应用场景,比如文件系统建立目录,或数据库连接都需要这样的单例。单例模式有以下几种常见的实现方式: 饿汉式 懒汉式(双检锁) 内部类实现式 枚举实现式 一、饿汉式 //饿汉式 class Singleton { private st
阅读全文
摘要:一、什么是原型模式 原型模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。 二、原型模式的特点 1.由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。 2.目标对象是原型对象的一个克隆。也就是说,通过Prototy
阅读全文