首页 > 语言 > PHP > 正文

PHP工厂模式、单例模式与注册树模式实例详解

2024-05-05 00:09:24
字体:
来源:转载
供稿:网友

本文实例讲述了PHP工厂模式、单例模式与注册树模式。分享给大家供大家参考,具体如下:

三种基本设计模式

1、工厂模式:工厂方法或者类生成对象,而不是在代码中直接new 
2、单例模式:使某个类的对象仅允许创建一个 
3、注册模式:全局共享和交换对象

工厂模式:

<?phpnamespace IMooc;class Factory{  static function createDatabase()  {    $db = new Database();    return $db;  }}
$db = IMooc/Factory::createDatabase();

工厂模式的好处是,避免Database这个类,在很多个php文件都进行new操作,如果Database这个类发生了一些变更(修改了名字或者参数),那这时候如果不工厂模就需要修改多出了,使用工厂模式,就只需要修改工厂方法即可。

单例模式:

<?phpnamespace IMooc;class Database{  protected $db;  private function __construct()  {  }  // 获取数据库操作实例  static function getInstance()  {    if(self::$db){      return self::$db;    }else{      self::$db = new self();      return self::$db;    }  }}// 无论调用多少次,只会创建一个实例$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();

注册树模式:

<?phpnamespace IMooc;class Register{  protected static $objects;  static function set($alias, $object)  {    self::$objects[$alias] = $object;  }  static function get($name)  {    return self::$objects[$name];  }  static function _unset($alias)  {    unset(self::$objects[$alias]);  }}$db = /IMooc/Register::get('db1');

 

希望本文所述对大家PHP程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选