介绍
小编给大家分享一下php工厂模式和单例模式的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强> php工厂模式和单例模式区别强>
单例模式:防止重复实例化,避免大量的新操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象
头(“内容类型:text/html;charset=utf-8");//定义字符编码,防止乱码/* * *单利类 */类单 { 私有静态_instance美元;//保存实例的对象 私人__construct()函数//定义构造方法 { } 私人__clone()函数//定义一个空方法防止被外部克隆 { } 公共静态getInstance()函数//定义一个获取实例对象的方法 { 如果(!(self:: $ _instance instanceof单)){ 自我::$ _instance=新的自我(); } 返回self:: $ _instance;//返回实例对象 }/* * *测试方法 */公共功能测试() { 回声“单利模式“; } } $=单:运行:getInstance (); 美元运行→测试();
工厂模式:用工厂方法代替新操作的一种模式,如果需要更改所实例化的类名,只需在工厂方法内修改,不需逐一寻找代码中具体实例化的地方
头(“内容类型:text/html; charset=utf-8");//定义字符编码,防止乱码/* * *测试类一 */类demo1 {//定义一个test1方法 公共函数test1 () { 回声& # 39;这是demo1类的test1方法& # 39;.PHP_EOL; } }/* * *测试类二 */类以及接下来 {//定义一个test2方法 公共函数test2 () { 回声& # 39;这是demo2加类的test2方法& # 39;.PHP_EOL; } }/* * *工厂类 */阶级的广大的 {//根据传参类名,创建对应的对象 静态函数createObject ($ className) { 返回新$ className (); } }/* * *通过传类名,调用工厂类里面的创建对象方法 */$演示=广大::createObject (& # 39; demo1& # 39;); 演示→美元test1 ();//输出这是demo1类test1的方法 $演示=广大::createObject(& # 39;以及接下来# 39;); 演示→美元test2 ();//输出这是demo2加类的test2方法
以上是php工厂模式和单例模式的区别有哪些的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!