我学设计模式 之 单例模式

来源:互联网 发布:网络与新媒体传播 编辑:程序博客网 时间:2024/06/05 23:42

我学设计模式之单例模式

 

1 简介:

       单例模式属于创建模式。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类成为单例类。

 

2 单例模式的结构特点

       单例模式有如下特点:

1)        单例类只能有一个实例。

2)        单例类必须自己创建自己的唯一实例。

3)        单例类必须给其他所有对象提供一个实例。

 

3 单例类的UML

 

4 单例模式的用法

在这里以日志记录器为例,阐述单例模式的用法,编写一个日志类,其代码如下:

/**

 * 单例模式的用法

 * @author Administrator

 * 使用单例模式实现日志记录器

 */

public class Loger {

 

    //私有的构造函数,不能在外部使用new来构造

    private Loger(){}

    private static Loger instance = new Loger();

    //返回实例

    public static Loger getInstance(){

       return instance;

    }

   

    public synchronized void logMessage(String msg){

       //在这里完成日志记录操作,本例忽略这部分的代码

       System.out.println(msg);

    }  

   

    public static void main(String[] args) {

           Loger.getInstance().logMessage("测试!!!!!!");

    }

}

 

5.    单例模式的相关应用场景

1.       对于大部分软件都有一个(甚至多个)属性(properties)文件存放系统配置。这样的系统应该由一个对象来管理一个属性的文件。

2.       负责记录网站来访人数的组件

3.       一个论坛中帖子的浏览计数器

4.       一个系统的日志记录器

5.       记录软件系统内部事件、出错信息的部件

6.       对系统的表现进行检查的部件

 

凡事系统使用一个全局对象的地方都可以使用单例模式。

 

以后若理解更深刻会继续总结,待续….

 

原创粉丝点击