什么是单例模式?单例模式的精髓主要在这个“单”字上,“单”就是一个,直接进入主题,我们通常使用“new”关键字创建一个对象,一旦“new”了,它就会开辟内存创建一个对象。假设我们经常反复创建的这个对象对我们来说其实都是一回事,那么我们就没必要浪费资源和时间嘛,好比,你去外地出差在某个地方至少1天,第一次你去服务台,服务台给你开了间房,你高高兴兴的拿着钥匙进房睡觉了。睡醒后出去办事。完事后,你是不是直接拿着这个钥匙直接奔你开好的房间?该不会去服务台再去开一间吧?大道至简,其实,细细想来,生活就是一种模式,只要你善于发现,你就会有意外惊喜,原来都是这样简单。
来个例子吧,枯燥的代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public
class
Room {
public
static
Room key;
public
static
void
main(String[] args) {
Room room=getKey();
room.openDoor();
Room room1=getKey();
room1.openDoor();
}
public
static
Room getKey(){
if
(key==
null
){
key=
new
Room();
}
return
key;
}
public
void
openDoor(){
System.out.println(
"我打开了门......"
);
}
}
|
看看上面这个例子,是不是跟我举得宾馆的例子相似?你不管多少次拿钥匙,你都拿的是同一间房的钥匙,不会重新给你发一把,这样做,既节约了宾馆的时间,也节约了你的时间,多好啊。再引申一点说,android开发中也常常使用到单例模式,比如网络的封装,数据库的访问都用到了单利的设计模式。