随笔分类 - 设计模式
摘要:创建者模式使用多个简单的对象一步一步构建成一个复杂的对象。它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象,该 Builder 类是独立于其他对象的。 一、类图 创建者模式包括以下几种角色: Builder:为创建一个Product对象的各个部件指定抽象接口。 Con
阅读全文
摘要:一、定义 简单工厂模式的定义如下: 提供一个创建对象实例的功能,而无需关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。 简单工厂模式,又叫做静态工厂方法。简单工厂其实并不是一种设计模式,反而比较像一种编程习惯,因为使用的非常频繁,所以有些书籍(如《Java与模式》)将其当做一种
阅读全文
摘要:一、定义 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式又被称为发布-订阅模式(publish-subscribe)。 对于一个目标对象,其观察者可以是多个,当然也可以只有一个。 二、类图 Subject(目标接口)、Concre
阅读全文
摘要:一、定义 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 二、类图 三、示例 现在我们自己来写个demo并应用上模板方法模式。 借用网上的例子。把大象装进冰箱分三步:1、把冰箱门打开; 2、把大象装进去; 3、把
阅读全文
摘要:单例模式的主要作用,是保证在应用程序中一个类只会有一个实例存在。典型的应用场景,比如文件系统建立目录,或数据库连接都需要这样的单例。单例模式有以下几种常见的实现方式: 饿汉式 懒汉式(双检锁) 内部类实现式 枚举实现式 一、饿汉式 //饿汉式 class Singleton { private st
阅读全文
摘要:一、什么是原型模式 原型模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。 二、原型模式的特点 1.由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。 2.目标对象是原型对象的一个克隆。也就是说,通过Prototy
阅读全文