当前位置: 首页 > news >正文

坪地网站建设价格sem招聘

坪地网站建设价格,sem招聘,时尚大气网站,wordpress 评论 验证PHP单例模式详解以及实际运用 什么是单例模式? 首先我们百度百科他怎么说? 单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如&a…

PHP单例模式详解以及实际运用

什么是单例模式?

首先我们百度百科他怎么说?

单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)、

大白话:对于PHP而言 在一次生命周期中,如果使用了单例模式。我们不管实例化多少次。整个生命周期只会存在一个实例。

为什么要使用单例模式?

  1. 实例控制
    单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。
  2. 灵活性
    因为类控制了实例化过程,所以类可以灵活更改实例化过程。

应用的场景

  1. Mysql连接
  2. Redis连接
  3. 等等其他连接

这些场景为什么要用到单例模式?

  • 防止重复的实例化连接。造成连接浪费。在一次生命周期中,我们只要创建一次连接就可以了。

单例代码示例

  1. PHP代码示例
<?phpclass Singleton
{private static $instance = null;// 禁止被实例化private function __construct(){}// 禁止cloneprivate function __clone(){}//  实例化自己并保存到$instance中,已实例化则直接调用public static function getInstance(): object{if (empty(self::$instance)) {self::$instance = new self();}return self::$instance;}public function test(): string{return '这是一个单例模式';}}// 两次调用返回同一个实例
$single1 = Singleton::getInstance();
$single2 = Singleton::getInstance();var_dump($single1, $single2);
echo $single1->test();
  1. Golang代码示例

    1. (饿汉模式) 初始化就创建
    package mianimport "fmt"var instanse *singlertype singler struct {Name string
    }func NewSingler()*singler{return instanse
    }func init() {instanse = new(singler)instanse.Name = "test"
    }func main() {singler := NewSingler()fmt.Println(singler.Name)
    }
    
    1. (懒汉模式)需要的模式就创建
    package mainimport ("fmt""sync"
    )var instanse *singler
    var mutex sync.Mutextype singler struct {Name string
    }func NewSingler()*singler {if instanse == nil{mutex.Lock()defer mutex.Unlock()if instanse == nil{instanse = new(singler)instanse.Name = "test"}}return instanse
    }func main() {singler := NewSingler()fmt.Println(singler.Name)
    }
    
http://www.yidumall.com/news/77065.html

相关文章:

  • 免费的网站软件正能量2345网址导航官网下载安装
  • 廊坊网站建设公司东莞网络营销优化
  • 河南网站建设哪家好灰色seo推广
  • 指定网站怎么设置路由器只访问百度知道官网入口
  • 自己做网站的难度哪些网站是营销型网站
  • 山西太原做企业网站建设的公司网站搭建平台都有哪些
  • 互动网站设计与制作优化网站有哪些方法
  • 做网站公司(深圳信科)我要安装百度
  • 做网站可以自由职业吗快速排名优化公司
  • 做qq空间的网站青岛seo推广公司
  • 温州网站建设联系电话微博上如何做网站推广
  • 网站重购安卓aso
  • 网站建网站建设企业电话百度权重提升
  • wordpress顶部导航重庆百度整站优化
  • 智慧团建网站密码忘了百度在线使用
  • 花生壳做网站有流量限制百度电脑版网页
  • 青岛做网站企业排名成都公司建站模板
  • 怎么做分享软件的网站长春网站建设技术托管
  • 网站更换域名需要重新备案吗百度推广方案怎么写
  • 网站改版方案网站用户体验优化
  • 郑州做网站外包的公司app推广注册放单平台
  • 阿里云主机怎么做两个网站吗优化百度涨
  • 支付宝网站开发文档网店推广网站
  • 网站建设营改增java成品网站
  • 哪有做婚介网站的网络营销的专业知识
  • 个人简历模板免费下载电子版句容市网站seo优化排名
  • 公司网站的定义怎么找关键词
  • 开发者模式开着好不好深圳seo优化
  • 网站导出链接查询网络营销教案ppt
  • wordpress设置文件怎样下载优化大师