博客列表 >单例模式

单例模式

力挽狂澜的博客
力挽狂澜的博客原创
2018年05月09日 11:44:17676浏览
<?php
// 单例模式
class Singleton {
    // 私有静态属性用来存放实例和判断
    private static $instance = null;

    // 私有构造方法禁止new
    private function __construct(){
    
    }

    // 开放公开获取单例实例的静态方法
    public static function getInstance(){
        if(self::$instance == null){
        self::$instance = new self();
        }
        retun self::$instance;
    }

    // 私有的魔术克隆,禁止外部 clone 对象
    private function __clone(){
    
    }
}

$singleton = Singleton::getInstance();
var_dump($singleton);

通常是在程序声明周期内,资源需要具有共享性,唯一性,方便统一管理,比如万军只有一个统帅。统帅被万军共享,统帅唯一管理万军,这样的关系不会导致应用紊乱。

实战场景

  1. windows系统的任务管理器和回收站

  2. 资源句柄,如文件,数据库,线程池等


理解若有错误,烦请指正。相互学习,多多交流。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议