概述
下面用普通实例和单例模式对比,来理解什么是单例模式和一些应用场景
普通实例和单例模式区别
普通实例:创建多个实例,执行多次__new__()方法,实例化创建多个,执行多次(默认)
单例模式:创建多个实例,只执行一次__new__()方法,实例化创建多个,执行一次(自己通过逻辑实现)。单例模式其实也是普通实例的一种特殊形式
- 通过重写__new__()方法,来实现只执行一次__new__()方法,实例化用 类() 就可以自动执行__new__()方法,来创建实例
- 通过自定义类方法(如get_instance),实现只执行一次__new__()方法,实例化用 类.get_instance(),来创建实例
1、普通实例:实例化可创建多个对象
创建对象方法:用 类() 的形式来创建对象
普通实例
2、单例模式:单个实例,实例化永远只创建一个对象
使用场景:
所有封装数据都一样时,资源可以共享时,使用单例模式类更有优势
- 例如1:创建连接池保持连接池个数,主要是节省打开或者关闭数据库连接所引起的效率损耗
- 例如2:多线程的线程池设计,单例模式便于对线程池中的线程进行控制
- 例如3:Web应用读取配置文件,由于配置文件是共享的资源
- 例如4:Socket创建连接
- 还有很多应用场景
优势
- 好处1:如果创建实例时间长,可以节省时间,提高效率。
- 好处2:仅仅创建一个实例,可以节省内存。
单例模式 模板一:__news__() 方法,创建对象
明确两个小知识点
- 类定义: class Animal: 为简写方式,等价于Animal(object):
- 类加括号(类())就会先去执行__new__方法,再执行__init__方法
单例模式 模板一
单例模式 模板二:自定义类方法,创建对象
两点说明
- 用类方法的形式创建对象,类.类方法()
- 单独写一个类方法来实例化对象
单例模式 模板二
最后
以上就是发嗲宝贝为你收集整理的单例模式应用场景_python单例模式的理解,就是单个实例的全部内容,希望文章能够帮你解决单例模式应用场景_python单例模式的理解,就是单个实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复