我学设计模式 之 单例模式
来源:互联网 发布:网络与新媒体传播 编辑:程序博客网 时间: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. 对系统的表现进行检查的部件
凡事系统使用一个全局对象的地方都可以使用单例模式。
以后若理解更深刻会继续总结,待续….
- 我学设计模式 之 单例模式
- 跟我学设计设计模式视频教程(一)-设计模式概述&单例模式
- 轻松学java设计模式之"单例模式"
- 每天一学设计模式之单例模式
- 我学设计模式 之 观察者模式
- 我学设计模式 之 代理模式
- 我学设计模式 之 门面模式
- 我学设计模式 之 策略模式
- 我学设计模式 之 状态模式
- 我学设计模式 之 建造模式
- 我学设计模式 之 命令模式
- 我学设计模式 之 中介模式
- 我学设计模式 之 备忘模式
- 我学设计模式 之 模板模式
- 我学设计模式 之装饰模式
- 我学设计模式 之 合成模式
- 学点设计模式-单例模式
- 我理解的java设计模式之单例模式
- 图文并茂 SD/TF卡 FAT文件系统彻底剖解(二)
- 中秋节--收到OCM考试通过结果
- 理解矩阵(个人认为这是关于矩阵最精彩的理解,推荐~~)
- NoSQL数据库笔谈【转】
- RAC RMAN 备份 RMAN-03009 ORA-19504 ORA-27040 RMAN-06012 channel c3 not allocated 错误分析
- 我学设计模式 之 单例模式
- 我学设计模式 之 代理模式
- 我学设计模式 之 门面模式
- 我学设计模式 之 桥接模式
- 我学设计模式 之 策略模式
- 我学设计模式 之 状态模式
- 我学设计模式 之 建造模式
- wireshark 使用方法
- 我学设计模式 之 命令模式