老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Python设计模式之单例模式有哪些特性?Python入门

老男孩IT教育

常见问题

2021年7月21日 18:13

在Python学习中,会涉及到各种设计模式,有单例、工厂等等,其中最简单的就是工厂模式,在企业项目中,工厂和单例也是使用率最多的模式,敲出符合业务逻辑的代码并不是件难事,但是一名合格的程序员是能够编写出易扩展、可维护、低耦合的代码的,所以本期简单的介绍下单例模式,请看下文:

       在Python学习中,会涉及到各种设计模式,有单例、工厂等等,其中最简单的就是工厂模式,在企业项目中,工厂和单例也是使用率最多的模式,敲出符合业务逻辑的代码并不是件难事,但是一名合格的程序员是能够编写出易扩展、可维护、低耦合的代码的,所以本期简单的介绍下单例模式,请看下文:

Python入门

       单例模式是什么?

       是一种常用的软件设计模式,主要目的是确保同一个类中只有一个实例存在,这样有利于我们协调系统整体的行为,在一些场景中进十分适用,比如你希望在整个系统中,某个类只能出现一个实例,单例模式就能完美契合你的需求。

       单例模式有哪些优点?

       1、在单例模式中,只能存在一个实例,所有实例化得到的都是相同的一个实例,可以有效防止其他对象对自己的实例化,确保所有对象都访问一个实例。

       2、具有一定伸缩性,类可以自己控制实力化进程,在改变实例化进程上有一定的伸缩性。

       3、由于只能存在一个对象,必然可以最大化的节省系统资源,当需要频繁创建和销毁对象时,单例模式就可以提高系统的性能。

       单例模式有哪些缺点?

       在上面已经发现单例模式的好处了,那自然也会有缺点的产生,我们需要对自己的项目有一定了解,之后再进行一个设计模式的选择。

       1、对于经常变化的对象,单例模式就不适合使用,如果同一类型的对象经常发生变化,单例就会导致数据错误。

       2、单例模式中不存在抽象层,所以单例类的扩展具有一定复杂性。

       3、单例优点有很多,但频繁滥用单例也会带来一些负面效果,比如为了节省资源,将数据库连接池对象设计为单例类,可能会导致共享连接池对象的程序过多,而出现连接池溢出,如果实例化的对象长时间不利用,系统则会认为是垃圾,从而进行垃圾回收,也就导致了对象的丢失。

       本篇为大家简单介绍了Python设计模式中的单例模式,希望对你们有帮助不止Python语言,其他语言也都有单例模式,早在Python远未火起来的2012年,老男孩教育就已看到Python在云计算、自动化开发、人工智能领域的先天优势,于是率先业界开设Python开发人工智能,数据分析等前沿课程。

       推荐阅读:

       Python中绝对路径和相对路径有什么区别?老男孩Python课程如何?

       Python的内置数据类型有哪些?Python学习

       Python十分有用的字符串函数有哪些?老男孩Python课程如何。

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。