设计模式之 单例设计模式
来源:互联网 发布:非线性叙事结构,知乎 编辑:程序博客网 时间:2024/04/25 05:27
设计模式只是一种思想,和语言无关,可以用java实现,也可以用c++甚至C以及其他语言来实现。
单例设计模式:
首先啥是单例??单例就是在整个应用中这个对象只能被创建一次。
其次什么情况下使用单例??只能被使用一次的东西可以用单例来实现,例如摄像头的管理等等,就是某个对象你只想出现一次。
接下来说怎么实现:
1:私有化构造函数
说明构造函数私有化了,其他类就无法直接new了,可以在自己的类中来控制了。
2:提供获取实例方法:
在类中提供一个公有的方法给其他类调用,这个方法能创建唯一的对象。
其实很简单了。
但是对于单例,我们又将其分为两种:
一种是饿汉式:顾名思义很饥渴,呵呵,用词不当了。
另一种懒汉式:顾名思义就是推一下动一下的感觉,虽然不是很贴切。
贴上java的实现代码:
饿汉式实现:
publicclass EagerSingleton {
private static EagerSingleton instance = new EagerSingleton();
/**
* 私有默认构造子
*/
private EagerSingleton(){}
/**
* 静态工厂方法
*/
public static EagerSingleton getInstance(){
return instance;
}
}
可见,不管三七二十一,它先在内存中创建了一个对象(static),都不管你是否去使用了,很饥渴吧
懒汉式实现
public class LazySingleton {
private static LazySingleton instance = null;
/**
* 私有默认构造子
*/
private LazySingleton(){}
/**
* 静态工厂方法
*/
public static synchronized LazySingleton getInstance(){
if(instance == null){
instance = new LazySingleton();
}
return instance;
}
}
相信到这里,单例模式你已经相当熟悉了。找个合适的地方赶紧用一用吧。
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之-单例设计模式
- 设计模式之单例设计模式 标签: 设计模式
- 设计模式之单例设计模式(饿汉单例设计模式&懒汉单例设计模式)
- 设计模式之单例
- 设计模式之单例
- 招聘信息大围观
- 如何让discuz论坛首页打开不显示forum.php的方法分享
- 【java】统计一篇英文文章每个字母出现的次数
- POJ2251--Dungeon Master--广搜
- 代理服务器
- 设计模式之 单例设计模式
- Maven 创建web项目
- hdu 1042 N!
- opencv播放和CImage保存BMP
- Java内存模型
- 内核态与用户态
- NET 中,使用 GDI 來精確測量文本的實際繪出尺寸(C#)
- jQuery easyui datagrid动态查询数据
- 用Maven构建Java Web开发环境(Jetty容器)之一