PHP工厂模式、单例模式与注册树模式实例详解
发布时间:2022-07-14 11:02:22 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP工厂模式、单例模式与注册树模式,结合实例形式工厂模式、单例模式与注册树模式的基本概念、原理、实现方法及使用技巧,需要的朋友可以参考下。 本文实例讲述了PHP工厂模式、单例模式与注册树模式,分享给大家供大家参考,具体如下: 三
|
这篇文章主要介绍了PHP工厂模式、单例模式与注册树模式,结合实例形式工厂模式、单例模式与注册树模式的基本概念、原理、实现方法及使用技巧,需要的朋友可以参考下。 本文实例讲述了PHP工厂模式、单例模式与注册树模式,分享给大家供大家参考,具体如下: 三种基本设计模式 1、工厂模式:工厂方法或者类生成对象,而不是在代码中直接new 2、单例模式:使某个类的对象仅允许创建一个 3、注册模式:全局共享和交换对象 工厂模式: <?php namespace IMooc; class Factory { static function createDatabase() { $db = new Database(); return $db; } } $db = IMoocFactory::createDatabase(); 工厂模式的好处是,避免Database这个类,在很多个php文件都进行new操作,如果Database这个类发生了一些变更(修改了名字或者参数),那这时候如果不工厂模就需要修改多出了,使用工厂模式,就只需要修改工厂方法即可。 单例模式: <?php namespace 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 = IMoocDatabase::getInstance(); $db = IMoocDatabase::getInstance(); $db = IMoocDatabase::getInstance(); $db = IMoocDatabase::getInstance(); 注册树模式: <?php namespace 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 = IMoocRegister::get('db1'); (编辑:张家口站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



