设计模式 -- 单例模式

前言

月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂)

央是一片海洋,海乃百川,代表着一块海绵(吸纳万物)

泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出)

月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容

希望大家一起坚持这个过程,也同样希望大家最终都能从零到零,把知识从薄变厚,再由厚变薄!

一、什么是单例模式?

        单例模式应该说是设计模式中形式最简单的形式之一了,也是大家比较熟悉的模式,这一模式的目的是是的类的一个对象能成为系统中的唯一实例.简单来讲,就是不管在哪访问,每次访问的都是同一对象.

二、单例模式的优缺点

优点:

1.实例控制,单例模式能阻止其他以任何方式来生成实例对象,从而确保所有对象访问都是唯一实例

2.减少资源的多重占用,包括减少内存开支,系统性能开销等等

缺点:

1.缺乏扩展性,单例模式如果想扩展,只能修改源代码

2.滥用单例模式会带来一些负面问题

三、单例模式的结构:

 

将构造方法私有化,同时在提供一个获取实例的公共方法即可

四、单例模式实战

        单例模式虽然说看似很简单,但是不了解其原由,还是会出现一些问题,单例模式的设计不当会导致线程安全问题,甚至是系统漏洞,这里实战举例,仅供提供一种模式原理,如果需要了解更详细的内容,小编后续会针对单例模式出一篇文章.按照effect java一书作者中提供,目前最安全的单例模式,实际上是以枚举方式来实现最佳,其他方式或多或少都会有一些问题.

1.建立单例实体类(仅针对单例设计模式这种设计思想来考量)

2.测试

 

五.总结

         单例模式虽然看似简单,但是其中设计思想可谓是大道至简,海水不可斗量,感兴趣的同胞们,可以多去了解了解.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值