我是靠谱客的博主 发嗲宝贝,最近开发中收集的这篇文章主要介绍单例模式应用场景_python单例模式的理解,就是单个实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

下面用普通实例和单例模式对比,来理解什么是单例模式和一些应用场景

普通实例和单例模式区别

普通实例:创建多个实例,执行多次__new__()方法,实例化创建多个,执行多次(默认)

单例模式:创建多个实例,只执行一次__new__()方法,实例化创建多个,执行一次(自己通过逻辑实现)。单例模式其实也是普通实例的一种特殊形式

  • 通过重写__new__()方法,来实现只执行一次__new__()方法,实例化用 类() 就可以自动执行__new__()方法,来创建实例
  • 通过自定义类方法(如get_instance),实现只执行一次__new__()方法,实例化用 类.get_instance(),来创建实例

1、普通实例:实例化可创建多个对象

创建对象方法:用 类() 的形式来创建对象

普通实例

be5489c779f8d902ee8b23185f436d56.png

2、单例模式:单个实例,实例化永远只创建一个对象

使用场景:

所有封装数据都一样时,资源可以共享时,使用单例模式类更有优势

  • 例如1:创建连接池保持连接池个数,主要是节省打开或者关闭数据库连接所引起的效率损耗
  • 例如2:多线程的线程池设计,单例模式便于对线程池中的线程进行控制
  • 例如3:Web应用读取配置文件,由于配置文件是共享的资源
  • 例如4:Socket创建连接
  • 还有很多应用场景

优势

  • 好处1:如果创建实例时间长,可以节省时间,提高效率。
  • 好处2:仅仅创建一个实例,可以节省内存。

单例模式 模板一:__news__() 方法,创建对象

明确两个小知识点

  1. 类定义: class Animal: 为简写方式,等价于Animal(object):
  2. 类加括号(类())就会先去执行__new__方法,再执行__init__方法

单例模式 模板一

b8602414ace96fe803fa2b38a7b786b1.png

单例模式 模板二:自定义类方法,创建对象

两点说明

  1. 用类方法的形式创建对象,类.类方法()
  2. 单独写一个类方法来实例化对象

单例模式 模板二

553dc6e2367810f3a3354a5451a75565.png

最后

以上就是发嗲宝贝为你收集整理的单例模式应用场景_python单例模式的理解,就是单个实例的全部内容,希望文章能够帮你解决单例模式应用场景_python单例模式的理解,就是单个实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部