当前位置:首页 - 黄金城彩票靠谱吗 - 正文

君子好学,自强不息!

原标题:卓翔技术:PHP设计模式——单件模式

单例模式

定义:简单地说,在整个应用程序访问过程中只有一个实例对象。

我对单例模式的理解是,new的操作可以减少,因为new的操作消耗内存,如果执行大量的新操作,就会消耗大量的内存。

例如:

abc类

}$a =新abc$b =新abc。$c =新abc。$d =新abc。回声"记忆初始:"。memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(a);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(b);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(c);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(d);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声峰值。memory _ get _ peak _ usage()。" b \ n "

abc类

}$a =新abc$b =新abc。$c =新abc。$d =新abc。回声"记忆初始:"。memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(a);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(b);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(c);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声' <。' pre & gt';var _ dump(d);回声' <。/pre & gt;';回应“内存使用量”:memory _ get _ usage()。" b \ n ";回声峰值。memory _ get _ peak _ usage()。" b \ n "

输出结果:

展开全文

这里的每个新操作都会增加内存使用。使用单一模式不会导致这种情况。

单例模式的要点

1.一个类只能有一个实例。

2.您必须自己创建此实例。

3.这个例子必须单独提供给整个系统。

以下是创建单例类的示例:

/* * * * * @目的:创建singleton class * class single */class single {/* * * * * * @ varobject以保存类实例的静态成员变量*/私有静态$ _实例;/* * *单个构造函数。私有构造函数*/privatefunction _ _构造函数(){echo '这是一种构造方法;';}/* * * * * @目的:创建私有__clone方法以防止对象被克隆*/private function _ _ clone(){ }/* * * * * @ returnsingle | objectsingleton方法,这是一种用于访问实例*/public staticfunctiongetinstance()的公共静态方法。(self::$ _ instance of self)){ self::$ _ instance =新的self;}返回自我::$ _实例;}}

/* * * * * @目的:创建singleton class * class single */class single {/* * * * * * @ varobject以保存类实例的静态成员变量*/私有静态$ _实例;/* * *单个构造函数。私有构造函数*/privatefunction _ _构造函数(){echo '这是一种构造方法;';}/* * * * * @目的:创建私有__clone方法以防止对象被克隆*/private function _ _ clone(){ }/* * * * * @ returnsingle | objectsingleton方法,这是一种用于访问实例*/public staticfunctiongetinstance()的公共静态方法。(self::$ _ instance of self)){ self::$ _ instance =新的self;}返回自我::$ _实例;}}

现在让我们实例化输出:

从这里可以看出,即使内存被实例化多次,也没有增长。

单例模式的使用

1.单一模式可以应用于数据库的操作类

2.单一模式可以应用于网站上的计数器

3.应用程序的日志应用程序一般是通过singleton模式实现的,这通常是由于共享日志文件总是打开的,因为只能有一个实例来操作,否则内容不容易追加。

4.读取4的配置对象。Web应用程序通常应用单一模式,因为配置文件是共享资源。

返回搜狐,查看更多回到搜狐看更多

负责任的编辑:

这里是分享代码,在后台添加

本文来源:中富彩如何注册购彩票

本文地址:https://caizhucequiz.cn/post/26.html

关注我们:微信搜索“xiaoqihvlove”添加我为好友

版权声明:如无特别注明,转载请注明本文地址!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。


站点地图25彩票 开胜网 利博彩票 1305彩票 信彩网 02彩票 rjdd.netfuyoudl.comchunshanyuan.com0598xy.comdlywxx.comwoaimeizi.comnimaboke.comlw-sh.comwwvx.yongchengcai.cnlu.50dfcaipiao.cnyyfw.test6cai.cnsmtp.nvcaipiao2020.cnctc.vmaicai.cn