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

    一、单例模式

      单例模式(Singleton Pattern)是一个比较简单的模式,其定义如下:Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)

    单例模式通用类图

     

    <?php
        class Singleton {
             private static $initial = null;
            
             //私有化构造方法
             private function __construct(){
             }
             //私有化克隆方法
             private function __clone(){
             }
             
             public static function  Initialization(){
                    if(self::$initial == null){
                        self::$initial = new self();
                    }
                    return  self::$initial; 
             }
        }

      优点:

        1. 由于单例模式在内存中只有一个实例,减少了内存开支,在一个对象需要频繁地创建、销毁时,而且创建或销毁时性能又无法优化,单例模式的优势就非常明显

        2. 单例模式可以避免对资源的多重占用

        3. 单例模式可以在系统设置全局的访问点,优化和共享资源访问

      缺点:

        1. 单例模式一般没有接口,扩展困难

        2. 单例模式与单一职责原则有冲突。一个类应该只实现一个逻辑,而不关心它是否是单例的,是不是要单例取决于环境,单例模式把“要单例”和业务逻辑融合在一个类中

  • 相关阅读:
    洛谷——P1196 [NOI2002]银河英雄传说
    Bomb HDU
    LightOJ
    洛谷——P2657 [SCOI2009]windy数
    几校联考——day1题解
    CF997A Convert to Ones
    洛谷——P2574 XOR的艺术
    codevs 3164 质因数分解
    洛谷——P2865 [USACO06NOV]路障Roadblocks
    JS之ClassName属性使用
  • 原文地址:https://www.cnblogs.com/onlycat/p/8980491.html
Copyright © 2011-2022 走看看