设计模式连环炮-第一只神兽只能单例了 Posted 2021-04-25 Java面霸君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式连环炮-第一只神兽只能单例了相关的知识,希望对你有一定的参考价值。
我们这位新来的God是个中英混血,姓 Hughes,名为 Maes ,字老浣熊。自带技能:神笔,写啥出啥。混迹人间时的角色:绝顶Java程序猿(老夫要是会画画,就画个RPG角色带属性的图来瞧瞧了~)。不过老浣熊必须以己之血配合七星大阵召唤出神兽,召唤出的神兽与老浣熊共享精血,只有在释放神兽之后才会返回这部分精血。所以召唤的越多越是消耗(为了强行关联上创建管理对象会消耗内存,也是很费脑细胞的)
在他三十万年的寿宴之后,百无聊赖就想着要再创造一个世界。"这世界上人类太多了,我得多造些其他的神兽才行",他心想着,"啊对,我可以造一座神兽动物园!但我第一只要造一只什么神兽呢?"
"河马?大象?草泥马?。。。。",他的选择困难症再次凸显,第一只神兽似乎需要有些特殊的寓意。猛然间,他想到:"我叫啥名来着?老浣熊!哎呀,这不是现成的嘛!" 自拍脑门大笑道。"既然浣熊是如此珍贵的,那我可劲儿造就是了!~~"
@Data
public class Raccoon {
public void show ( ) {
System.out .println("I am dancing~~" );
}
}
说罢,疯狂地 new Raccoon().show(),召唤了成百上千个浣熊,也吸引来了许多来观赏浣熊的人们,浣熊一对一的舞蹈服务让人们感觉太高兴了。但人们在园中逛着,发现这些浣熊除了关的位置不一样,其他都是一模一样,所以多数人们看完一只浣熊表演后就径直离开了。浣熊,似乎有点多了。老浣熊的血量,似乎有点少了
不仅如此,老浣熊也发现其中隐藏了个巨大的麻烦:自己快撑不住了,一次性召唤出这么多一模一样的浣熊,但这些浣熊只能做同一件事:表演给人看!这些薄情的人类还只看第一只之后就走了。"不行了不行了,我要调整调整策略,不能刚开业就挂彩了。。"
很显然,这里浣熊并不需要造那么多,只需要一只放在中间,围起来,让人们流动着360°观赏即可。老浣熊为防止自己手痒,就想到一个方式控制自己只能召唤一只浣熊。
@Data
public class RaccoonSingleton {
private static RaccoonSingleton singleton = new RaccoonSingleton();
private RaccoonSingleton () {
}
public static RaccoonSingleton getInstance () {
return singleton;
}
}
轻易的锁上了new的大门,hughes以这种方式,强迫自己只能 RaccoonSingleton.getInstance() 召唤神兽时只能召唤一只。
不过没过多久老浣熊观察到一种情况:并不是每天开园都会有人来的,工作日可能一个人都没有,这小浣熊可以不召唤啊,那留点体力把妹他不香吗???心机一动,大手一挥
@Data
public class RaccoonSingleton {
static RaccoonSingleton singleton = null ;
private RaccoonSingleton () {
}
public static RaccoonSingleton getInstance () {
if (singleton == null ){
singleton = new RaccoonSingleton();
}
return singleton;
}
}
最后,虽然他很享受满屏的浣熊,但,身体不允许~~~
就这样,人流量并没减,反而因为院内只有一只珍贵的浣熊,大家一起停留驻足嬉戏的时间更长了。。
"既然相对之前疯狂new的手段,这次只是生成一只浣熊一个实例,那老夫便唤它做 单例 吧!哈哈哈哈哈,老夫真是个天才!!!~~"
伴随着老浣熊身体再次健壮起来,他个神表示很欣慰~~~
以上是关于设计模式连环炮-第一只神兽只能单例了的主要内容,如果未能解决你的问题,请参考以下文章
入门设计模式之单例
Java自学-类和对象 单例模式
是时候上类装饰器及单例了。
单例模式
Java的单例模式实现
第一:单例模式