单态模式(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中。
单态模式的运行结果:
|
|