单例概念:

单例是一个特殊的类,这个类只能创建一次实例,例子如下:

1.a = Std(name='leo'), b = Std(name='jack'),两者的指向都是name=‘leo’的对象;

2.windows中只有一个回收站,打开一次回收站只会出现一次窗口,双击第二次不会出现第二个窗口 ,这就是单例,对象不会重新创建,只会创建一次;


单例的作用:

1.用于有单例需求的业务场景,例如windows的回收站;

2.之前我做的项目用到了第三方sdk做接口发送短信验证码,但是该sdk写的代码不够好,重复创建对象去发送短信,如果有几十万个用户同时有发送短信的需求,那么该sdk就要重复创建几十万个用于发送短信验证码的对象,实际上它只是要调用对象的方法进行发送短信罢了,因此可以用单例设计模式减轻服务器负担,代码对比如下:

第三方SDK源代码:

 
 

我写的单例代码:

 
 

总结:单例设计模式用于有减少重复创建实例需求的场景,例如windows的回收站页面,短信发送对象等业务场景;

作者:猫茂懋
链接:https://www.jianshu.com/p/d8f2f7a43769
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

最新文章

  1. salesforce 零基础学习(五十四)常见异常友好消息提示
  2. 《selenium2 Java 自动化测试实战(第二版)》 更新2016.5.3
  3. 深入了解ibatis源码----简单ibatis示例代码
  4. Android studio 修改包名 和 版本号
  5. CentOS RHEL 安装 Tomcat 7
  6. js中ascii码的转换
  7. MyJni撒旦
  8. WAF绕过的技巧
  9. git 笔记- 概念
  10. xml数据解析调研
  11. Laravel 清空配置缓存
  12. Ios 弹框 MJPopup,KxMenu
  13. C#代码将html样式文件转为Word文档
  14. zoj1871steps 数学 水
  15. IDEA + Maven + JavaWeb项目搭建
  16. dos命令的小总结
  17. 从零开始学习前端开发 — 12、CSS3弹性布局
  18. java~api返回值的标准化
  19. EF6中执行Sql语句
  20. 搭建Kubernetes服务集群遇到的问题

热门文章

  1. 简单谈谈Netty的高性能之道
  2. spring的4种事务特性,4种隔离级别,7种传播行为
  3. P4036 [JSOI2008]火星人(splay+hash+二分)
  4. zabbix 微信告警脚本
  5. vue项目build打包后图片路径不对导致图片空白不显示问题解决方法
  6. redis限流器的设计
  7. zabbix3.4.8配置自动发现主机并监控
  8. 第十五章 Kubernetes调度器
  9. C# List和DataTable的相互转换
  10. web项目使用fastdsf上传|下载文件