zoukankan      html  css  js  c++  java
  • php设计模式笔记:单例模式

    php设计模式笔记:单例模式

    意图:

    保证一个类仅有一个实例,并且提供一个全局访问点

    单例模式有三个特点:

    1、一个类只有一个实例
    2、它必须自行创建这个实例
    3、必须自行向整个系统提供这个实例

    主要实现:

    Singleton定义了一个instance操作,允许外部访问它的唯一实例,instance是一个类方法,负责创建它的唯一实例。

    singleton适用场景:

    1、当类只能有一个实例而且外部可以从一个公共的访问点访问它。
    2、当这个唯一实例应该是通过子类化可扩展的。并且用户应该无需更改代码就能使用一个扩展的实例时。

    Singleton实例:

     1 <?php
     2     class singleton{
     3         //静态成品变量 保存全局实例
     4         private static $_instance = NULL;
     5         //私有化构造方法,防止外部访问
     6         private function __construct(){}
     7         //防止用户克隆
     8         private function __clone(){}
     9         //静态工厂方法,返回此类的唯一实例
    10         public static function getInstance(){
    11             if(!(self::$_instance instanceof self)){
    12                 self::$_instance = new self;
    13             }
    14             return self::$_instance;
    15         }
    16         //测试
    17         public function test(){
    18             echo "singleton test!";
    19         }
    20     }
    21 
    22     class Singletontest{
    23         public static function main(){
    24             $instance = singleton::getInstance();
    25             $instance->test();
    26         }
    27     } 
    28 
    29     Singletontest::main();
    30 ?>
  • 相关阅读:
    jvm误区--动态对象年龄判定
    jmeter入门实例
    七牛云的文件上传和下载
    layer.prompt添加多个输入框
    zero copy图解
    java枚举的线程安全及序列化
    java单例模式
    ubuntu16.04 python3.5 opencv的安装与卸载(转载)
    独家git clone 加速方法
    apt get update无法正常使用解决方案(转载)
  • 原文地址:https://www.cnblogs.com/Mapleth/p/3903509.html
Copyright © 2011-2022 走看看