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

     1 <?php
     2     
     3 class User {
     4     
     5     //静态变量保存全局变量
     6     private static $_instance=null;
     7     
     8     //私有化构造函数,防止外界实例化对象
     9     private function __construct() {
    10     }
    11     
    12     //私有化克隆,防止外界克隆对象
    13     private function __clone(){
    14         
    15     }
    16     //静态方法,单例统一访问接口
    17     static public function getInstance(){
    18         if(is_null(self::$_instance)||isset(self::$_instance)){
    19             self::$_instance= new self();
    20         }
    21         
    22         return self::$_instance;
    23     }
    24     
    25     public function  getName(){
    26         echo "猪八戒";
    27     }
    28 }
    29 
    30 
    31 
    32 header("Content-type:text/html;charset=utf-8");
    33 $user=User::getInstance();
    34 echo $user->getName();

    单例模式的优缺点:

    优点:

    1. 改进系统的设计

    2. 是对全局变量的一种改进

    缺点:

    1. 难于调试

    2. 隐藏的依赖关系

    3. 无法用错误类型的数据覆写一个单例

  • 相关阅读:
    Number Sequence
    不容易系列之(3)—— LELE的RPG难题
    又见回文
    统计元音
    数列
    regular expression
    野兽男孩
    GameStd
    boost and qt compile.
    kde4 + compiz只有两个桌面的问题
  • 原文地址:https://www.cnblogs.com/wujindong/p/5287530.html
Copyright © 2011-2022 走看看