php的单例模式及应用场景详解

admin3年前PHP教程37

单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。

这里又不具体讲如何实现单例模式和介绍其原理(因为这方便的已经有太多的好文章介绍了)

好多没怎么使用过的人可能会想,单例模式感觉不怎么用到,实际的应用场景有哪些呢?以下,我将列出一些就在咱们周边和很有意义的单例应用场景。

    Windows的Task Manager(任务管理器)就是很典型的单例模式(这个很熟悉吧),想想看,是不是呢,你能打开两个windows task manager吗? 不信你自己试试看哦~windows的Recycle Bin(回收站)也是典型的单例应用。在整个系统运行过程中,回收站一直维护着仅有的一个实例。网站的计数器,一般也是采用单例模式实现,否则难以同步。应用程序的日志应用,一般都何用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则内容不好追加。Web应用的配置对象的读取,一般也应用单例模式,这个是由于配置文件是共享的资源。数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的,因为何用单例模式来维护,就可以大大降低这种损耗。多线程的线程池的设计一般也是采用单例模式,这是由于线程池要方便对池中的线程进行控制。操作系统的文件系统,也是大的单例模式实现的具体例子,一个操作系统只能有一个文件系统。HttpApplication 也是单位例的典型应用。熟悉ASP.Net(IIS)的整个请求生命周期的人应该知道HttpApplication也是单例模式,所有的HttpModule都共享一个HttpApplication实例.

总结以上,不难看出:

单例模式应用的场景一般发现在以下条件下:

(1)资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。

(2)控制资源的情况下,方便资源之间的互相通信。如线程池等。

到此这篇关于php的单例模式及应用场景详解的文章就介绍到这了,更多相关php单例模式及应用场景内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

编程入门先学什么(如何学会编程写代码)

编程入门先学什么最近有许多关于学习编程的争辩。不仅仅是由于与软件开发公司公开的待应聘的职位数量相比较契合招聘要求的人远远无法满足缺口,编程也是工资最高和工作满足感最强的许多职业之一。也难怪越来越多的人...

新加披gpu服务器的计算型应用场景

新加披gpu服务器的计算型应用场景?GPU计算型应用场景海量计算处理GPU服务器超强的计算功能可应用于海量数据处理方面的运算。如搜索、大数据推荐、智能输入法等:原本需要数天完成的数据量,采用GPU服务...

分析五个Laravel Dusk的使用技巧

目录1. 填充隐藏字段2. 模拟 HTML 地理位置3. 使用 XPath 选择器4. 整页截屏5. 访问浏览器错误日志1. 填充隐藏字段在测试某些 JS 组件时 (例如自动完成,日期选择器等) ,可...

显卡服务器用途有哪些美国显卡服务器租用教程

显卡服务器用途有哪些?显卡服务器又称作为GPU服务器,显卡服务器在处理图形处理能力的时候,有着高性能的效率和计算能力,适用于视频、大数据深度学习、大型数据的处理等多种场景。相比普通的服务器,显卡服务器...

怎么选择美国多ip服务器供应商呢

选择美国多IP服务器供应商时,您需要考虑以下几个因素:可靠性和稳定性:您需要选择一个供应商,其服务器具有高可靠性和稳定性,以确保您的服务器在不间断地运行,避免服务中断和数据丢失。性能和速度:您需要选择...

php字符串中转义成特殊字符实例讲解

在php的字符串使用时,我们有学会一些转义字符,相信大家在记忆这些知识点的时候费了不少的功夫。本篇我们为大家带来的是字符串的转义方法,涉及到特殊字符的使用,主要有两种方法可以实现:mysql库函数和转...