当前位置: 首页 > news >正文

设计模式系列:经典的单例模式

单例模式,是设计模式当中非常重要的一种,在面试中也常常被考察到。

正文如下:

一、什么时候使用单例模式?

单例模式可谓是23种设计模式中最简单、最常见的设计模式了,它可以保证一个类只有一个实例。我们平时网购时用的购物车,就是单例模式的一个例子。想一想,如果购物车不是单例的,会发生什么?

数据不一致:用户在不同页面看到的购物车内容可能不同。用户在一个页面加了商品,可能换到另一个页面就看不到了、或者看到的商品不对。这会让用户感到困惑和不满。

购物车状态丢失:用户在不同服务器上访问的购物车实例可能不同。用户在一个页面加了商品,如果下一个请求被转到另一个服务器,那么之前加的商品就没了。这可能导致用户重新选购,那实在是太麻烦了。

资源浪费:购物车需要加载和处理一些数据,假如用户每次访问页面都创建一个新的购物车实例,这样就会占用更多的资源,并且、频繁地创建和销毁购物车实例,也会增加系统的负担和响应时间。

所以,用单例模式来做购物车可以避免以上问题,并提供更好的用户体验。购物车作为一个共享的对象,把用户选的商品信息保存在一个唯一的实例中,可以在整个用户会话中访问和更新,这样可以保证购物车中的数据是正确、完整和一致的。这其实也和我们生活中,在超市里使用购物小推车或购物篮是一样的。

Spring是Java开发中常用的框架,它里面也有很多单例模式的应用:

        

http://www.lryc.cn/news/105551.html

相关文章:

  • macbook pro 散热解决办法
  • 高并发与性能优化的神奇之旅
  • Django Rest_Framework(一)
  • VB+ACCESS智能公交考勤系统管理软件设计与实现
  • 企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图 tbms
  • 【ES】笔记-ECMAScript 相关介绍
  • FFmpeg下载安装及Windows开发环境设置
  • transformer面试常考题
  • aws的EC2云服务器
  • hive函数大全
  • k8s概念-StatefulSet
  • HTMLCollection 和 NodeList 的详解,以及两者在开发情况下差异。
  • 基于FPGA的超声波测距——UART串口输出
  • Python web实战之 Django 的 MVC 设计模式详解
  • Stable Diffusion VAE:改善图像质量的原理、选型与使用指南
  • maven里面没有plugins dependence问题解决
  • Wi-Fi 6技术详解
  • 【LeetCode】446. 等差数列划分II -- 子序列
  • 几个似非而是的注释问题
  • 【设计模式|上】创建型模式
  • 【JS】类 class
  • Ubuntu安装harbor(http模式)并随便上传一个
  • 《向量数据库指南》——腾讯云向量数据库Tencent Cloud Vector DB正式上线公测!提供10亿级向量检索能力
  • 1分钟解决github push/pull报错443
  • vue3学习-ref引用
  • Docker 容器转为镜像
  • 阿里云服务器免费试用及搭建WordPress网站
  • 整流二极管型号汇总,超齐全
  • MongoDB 操作命令
  • markdown高级写作技巧汇总