设计模式之单例模式

一 什么是单例模式,优点缺点及适用场景

1 单例模式概念:
创建型模式,自己内部创建一个自己的实例对象,并提供给外部获取自己实例的接口,还必须只有单个对象被创建。总结:单例类只有一个实例;必须自己创建自己的实例;单例类必须给其他类提供这一实例。关键代码:构造函数是私有的(private)

2 优点:
内存中只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例。

3 缺点:
没有接口,不能继承,与单一职责原则冲突(一个类应该只关心内部逻辑,而不关心内部如何实例化)

4 适用场景:
要求生产唯一的序列号
创建一个对象需要消耗的资源过多,如数据库的连接

注意getInstance()方法需要使用同步锁Synchronized防止多线程时instance被多次实例化。

代码样例:SingleObject类提供给外界一个返回自己实例的静态方法,并且构造方法私有化

//单例类	
public class SingleObject{
//在类装配时实例化类
private static SingleObject instance = new SingleObject();
//构造函数
private SingleObject(){}
//提供给外界的接口
public static SingleObject getSingle(){
		return instance;
}
}

//测试单例类
public SingleDemo{
public static void main(String args[]){
	SingleObject instance = SingleObject.getSingle();
}
}	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值