当前位置:首页 > 开发 > 编程语言 > 设计模式 > 正文

单态设计模式

发表于: 2012-10-27   作者:dcj3sjt126com   来源:转载   浏览:
摘要:   单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。 <?phpclass Example{    // 保存类实例在此属性中    private static&

 

单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。

<?php
class Example
{
    
// 保存类实例在此属性中
    
private static $instance;
    
       
// 构造方法声明为private,防止直接创建对象
    
private function __construct() {
        echo 
'I am constructed';
    }

    
// singleton 方法
    
public static function singleton() {
        if (!isset(
self::$instance)) {
            
self::$instance = new self();
        }
        return 
self::$instance;
    }
    
    
// Example类中的普通方法
    
public function bark()
    {
        echo 
'Woof!';
    }

    
// 阻止用户复制对象实例
    
public function __clone()
    {
        
trigger_error('Clone is not allowed.'E_USER_ERROR);
    }
}
?>

这样我们可以得到一个独一无二的Example类的对象。

<?php

// 这个写法会出错,因为构造方法被声明为private
$test = new Example;

// 下面将得到Example类的单例对象
$test Example::singleton();
$test->bark();

// 复制对象将导致一个E_USER_ERROR.
$test_clone = clone $test;
?>

单态设计模式

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1 基本概念   单态模式是设计模式中最为人熟知的也是形式最简单的。它的基本概念是一个类只生成一
概括 名称 Singleton 结构 动机 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性
class Singleton{ private static Singleton instance = new Singleton() ; // 在内部产生本类的实
1 基本概念 单态模式是设计模式中最为人熟知的也是形式最简单的。它的基本概念是一个类只生成一个实
概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性 1.当类只能有一个实例而且客
作者:马靖 联系方式:andamajing@163.com 版权声明:欢迎大家转载,转载请标明出处,尊重原创,从
单态模式的要点: 1.如何保证单态模式只有一个全局唯一的实例。 2.如何保证提供一个访问它的全局访问
概述: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性: 1.当类只能有一个实例而
这样的一段读取配置文件的代码 /** * 读取应用配置文件 */ public class AppConfig { /** * 用来存
一个围棋下得好的人知道,好的"形"对于围棋非常重要。形是棋子在棋盘上的几何形状的抽象化。 形就是模
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号