/*** 设计模式* 单例模式  别名  单态模式* 单例模式就是类只能被实例化一次*/class Test
{private static $_instance = null;//实例化属性private function __construct()//私有化构造方法
    {}private function __clone()//私有化魔术方法
    {}static function getInstance()//实例化调用方法
    {if(!(self::$_instance instanceof self))//使用instanceof判断$_instance是否是当前类的一个实例
        {self::$_instance = new self();}return self::$_instance;}
}$test1 = Test::getInstance();//这是调用这个实例对象就不能用new,而是使用类里面的getInstanse方法
$test2 = Test::getInstance();
$test3 = Test::getInstance();
$test4 = Test::getInstance();var_dump($test1);
var_dump($test2);
var_dump($test3);
var_dump($test4);
//我们可以看到四次输出都是被实例化了一次的对象,这就是单例模式也叫单态模式

转载于:https://www.cnblogs.com/enjie/articles/7966491.html

php 单例模式 单态模式相关推荐

  1. SessionFactory(单态模式)及使用Query方法

    SessionFactory(单态模式)及使用Query方法 sessionfactory简介: 1.应用程序从sessionFactory中获得session实例,它在多个应用线程之间进行共享. 2 ...

  2. The Singleton of Design Pattern单态模式

    1 Singleton Definition 单态模式定义        The main purpose is to gurantee that the instance of class has ...

  3. 解析 Java 类和对象的初始化过程 由一个单态模式引出的问题谈起

    在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 问题引入 近日我在调试一个枚举类型的解析器程序,该解析器是将数据库内一万多条枚举代码装载到缓存中,为了实现快速定位枚举代码 ...

  4. java单态模式_Java单态模式

    Java的单态模式 Singletom 作用:保证在Java应用程序中,一个Java类只有一个实例存在:所以一般单态类会提供一个返回该类实例的方法.提供一个对对象的全局访问指针. 优点:节省内存,限制 ...

  5. Day20 python__new__、单态模式、析构方法、常用魔术方法、__str__、__repr__、__bool__ 、__len__...

    1.魔术方法 __new__ ''' 触发时机:实例化类生成对象的时候触发(触发时机在__init__之前) 功能:控制对象的创建过程 参数:至少一个cls接受当前的类,其他根据情况决定 返回值:通常 ...

  6. C++单例模式 : 懒汉模式 与 饿汉模式

     单例模式:         只能有一个实例,有懒汉和饿汉区分,实现核心思想:         1.构造函数私有化         2.使用静态函数作为接口来获取类对象 1.懒汉模式:         ...

  7. 《JAVA与模式》26天系列—第12天—享元模式=单例模式+工厂模式+合成模式

    享元模式=单例模式+工厂模式+合成模式 单例模式: 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 结构图: 注意多线程的单例. package com.bankht.Flyweight.co ...

  8. 0805Python总结-多态,__new__魔术方法,单态模式

    一.多态 不同的子类对象,调用相同的父类方法,产生不同的执行结果 关键字: 继承, 改写 class Soldier():def attack(self):passdef back(self):pas ...

  9. 单例模式(懒汉模式-双检锁、饿汉模式、静态内部类模式)-详细

    文章目录 前言 单例模式(懒汉模式-双检锁.饿汉模式.静态内部类模式)-详细 01 单例模式是什么? 02 单例模式的好处? 03 单例模式的三种模式 03::01 懒汉模式 03::01::01 问 ...

最新文章

  1. STM8S103 解决Rom空间不足 Map文件分析
  2. 【神经网络】(13) ShuffleNetV2 代码复现,网络解析,附Tensorflow完整代码
  3. dist包编译html_gulp4 多页面项目管理打包(html, es6,less编译压缩版本控制)
  4. 美多商城之订单(提交订单2)
  5. Windows下dump文件生成与分析
  6. JAVA实现查看详情功能_【JavaWeb】111:详情页面的实现
  7. VS2005的Command Window 调试命令的总结(转载)
  8. UVA 11995 I Can Guess the Data Structure! STL
  9. linux修改网卡配置不生效怎么解决?
  10. girton college things locations
  11. MySQL之事务、锁
  12. LeetCode 1291. 顺次数(模拟)
  13. 用函数判断考试得分:
  14. 工厂方法模式的一种特例——简单工厂模式
  15. 新世纪音乐——天籁之音
  16. 教你30分钟快速搭建直播间
  17. System.Reflection.ReflectionTypeLoadException
  18. 免费获取百度网盘会员一天的不限速网盘会员
  19. turtle实例8 玫瑰曲线
  20. 莫言出力、章泽天站台!京东百万豪奖作家背后是文娱野心

热门文章

  1. v8学习笔记(二) Handle和HandleScope机制
  2. Android 高级Drawable资源---复合Drawable----级别列表Drawabled
  3. vs项目中头文件(.h)静态库(.lib)和 动态库(.dll )的路径和配置
  4. Java之toString()方法详解
  5. Python 3.9要发布啦,快来看看有哪些新特性?
  6. HelloGitHub
  7. 应急模拟系统功能结构图
  8. [BZOJ 2844] albus就是要第一个出场
  9. 在Linux 环境下搭建 JDK 和 Tomcat
  10. sqlite自己主动更新数据库