PHP设计模式-单例模式

    xiaoxiao2021-03-25  187

    1、模式定义

    单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

    单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。

    2、UML类图

    3、示例代码

    <?php class User { //静态变量保存全局实例 private static $_instance = null; //私有构造函数,防止外界实例化对象 private function __construct() { } //私有克隆函数,防止外办克隆对象 private function __clone() { } //静态方法,单例统一访问入口 static public function getInstance() { if (is_null ( self::$_instance ) || isset ( self::$_instance )) { self::$_instance = new self (); } return self::$_instance; } public function getName() { echo 'hello world!'; } } ?>

    4、优缺点

    优点:

    1. 改进系统的设计

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

    缺点:

    1. 难于调试

    2. 隐藏的依赖关系

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

    转载请注明原文地址: https://ju.6miu.com/read-1968.html

    最新回复(0)