【注意】最后更新于 December 15, 2017,文中内容可能已过时,请谨慎使用。
本文来介绍下java设计模式之多例模式!
好吧,说实话,多例模式我在看设计模式之前,确实不会用。也不知道存在的意义是什么。不过本着学习就要都学习的精神,还是学一学吧。
什么是多例模式呢?
这么解释吧,也不知道是不是规范!
你要跟好基友韩跳跳solo呢,有个其他人先跟他打了,还是跟他打的很恶心的排位模式!这下好了,他输了的话肯定自己的精神状态都改变了,你再跟他打一定是会得不偿失的。
那怎么办?等他状态恢复回来,你自己等不及了,算了,干脆再找另一个好基友玩韩跳跳去!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package top.txiner.multiton;
public class Gamer {
private static Gamer Hanxin1=new Gamer();
private static Gamer Hanxin2=new Gamer();
private Gamer(){
}
public static Gamer getInstance(int id){
if (id==1)
return Hanxin1;
else if (id==2)
return Hanxin2;
else
return null;
}
public void solo(){
System.out.println("come on !solo");
}
}
|
没问题吧,老铁们!
峡谷来场炸裂的开场吧!
1
2
3
4
5
6
7
8
|
package top.txiner.multiton;
public class Valley {
public static void main(String[] args) {
Gamer gamer=Gamer.getInstance(1);
gamer.solo();
}
}
|
这下,好事者要问了!那我要多例模式干啥!怕状态改变没法用我就每次都new一个对象就可以了啊!
兄弟,你听说过安利,额,不,系统资源有限吗?
每次new一个新的写起来舒服了,可是呢?电脑内存是有限的,万一一个高并发的系统,那不直接就炸啦!
好了,这个肯定室友应用的啊,只不过我的代码很简陋,没有具体写而已!
各种数据库的连接池估计就有多例模式的想法在里面吧。