设计模式(四)之单例模式

来源:互联网 发布:java正则表达式pattern 编辑:程序博客网 时间:2024/06/04 20:06

单例模式

1、描述

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

2、使用场景

在某些情况下,我们可能需要某个类只创建一个对象,即不让用对该类实例化出多余二个实例。比如说我们一栋大楼的管理员,我们需要一个就可以了,每次需要的时候我们都叫那一个,不用每次都new一个新的管理员出来。

3、模式中的角色

单例类(Singleton):只可以创建出一个实例。

4、类图


6、代码实现
package org.sunday.prototype;/** *  * @author sunday * 2014-1-8 */public class Singleton {/** * 单例类中包含自身声明的类变量,这个类变量是单例类唯一的实例。 */private static Singleton singleton;/** * 构造方法的访问权限是private。为了确保自己其他类中都无法被创建。 */private Singleton(){}/** * 单例类负责创建自己唯一的实例,并提供访问该实例类的类方法。 * 由于单例类的构造方法被设置为private,所以单例类必须自己负责创建自身声明的实例。 * 使用synchronized是为了防止多线程在调用这个类方法时创建多个单例类实例(线程安全)。 * @return 单例类的唯一对象 */public static synchronized Singleton getInstance() {if(null == singleton) {singleton = new Singleton();}return singleton;}}


0 0
原创粉丝点击