• 单例模式


    单例模式的必要性:
    1. 目的:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
    2. 要点:
        1). 某一个类只能有一个实例;
        2). 必须自行创建这个实例;
        3). 必须自行向整个系统提供这个实例。
    3. 作用:避免重复实例化,节省系统资源。例如在数据库操作方面,会大量存在数据库连接操作,单例类可以避免多次连接数据库而消耗资源,减轻对数据库服务器的压力

    单例类的写法:三私一公二静态
    1、私有的构造方法:防止类外被实例化,从而失去单例的意义。
    2、私有克隆方法:防止传到类外的对象被克隆,从而无法保证对象的唯一。
    3、私有静态的属性:私有的目的是防止这个属性在类外被修改。用来保存在本类中生成的唯一一个实例。 静态的目的是什么呢?之所以静态,是因为该属性要被在静态方法中调用。
    4、共有的静态方法:这个方法是唯一将实例传输到类外使用的途径。子所以是公有的,是因为要被在类外调用。之所以静态,是因为单例类中的构造方法是私有的,没办法用对象调用该方法,而只有静态方法才不需要对象调用。
    这个公有的静态方法必须有返回值,将当前类中私有静态属性返回。而这个静态属性中已经存储了那个唯一的实例化后的对象。

    class Singleton  
    {  
        private static $instance;  
        private function __construct(){}  
        private function __clone(){}   
        public static function getInstance()  
        {  
            if(!(self::$instance instanceof self))  
            {  
                self::$instance = new self();  
            }  
            return self::$instance;  
        }  
    }  
  • 相关阅读:
    MySQL基础(一):检索数据
    Go基础(九):并发
    Go基础(八):反射
    Go基础(七):接口
    Go基础(六):方法
    Go基础(五):结构体
    Go基础(四):流程控制和函数
    Go基础(三):内置基础类型和一些技巧
    Go基础(二):变量和常量
    Go基础(一):命令行操作
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/4294444.html
Copyright © 2020-2023  润新知