分享

常用设计模式之单态模式

 糖伯虎点秋香 2011-02-09
单态模式(Singleton Pattern):
 
        定义:单态模式指的是在应用程序的范围内只对指定的类创建一个实例。
        单态模式能够确保某个类只生成一个实例对象,它具有以下特点:
        通常包含一个私有构造函数,这样确保了用户无法通过创建对象或者克隆的方式对其进行实例化。
        通常包含一个公有静态方法,负责对其本身进行实例化。
        通常包含一个私有属性,保存对象实例。
        示例代码如下:
 
<?php
class Singleton {
    private static $instance = null;
   
    private function __construct() {}
   
    public static function getInstance() {
        if(self::$instance == null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
   
    public function printString() {
        echo "这是一个单态模式的示例";
    }
}
 
$instance = Singleton::getInstance();
$instance->printString();
?>
 
        在上述代码中,私有构造函数__construct()用来确保Singleton类无法通过创建对象或克隆的方式对其进行实例化,所以Singleton类只能通过公有静态方法getInstance()生成一个该类的实例并存储在私有静态属性$instance中。
        单态模式的运行结果:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多