设计模式之注册器模式

注册器模式

  1. 注册器模式是一种基础常见的设计模式,它的主要意思是把多个类的实例注册到一个注册器类中去,然后需要哪个类,由这个注册器类统一调取。
下面实现一个简单的注册器类
<?php
	//注册器模式
	class Register
	{
		//保存映射到注册器上的对象
		protected static $object;
		//将对象映射到注册器上
		public static function set($alias, $obj){
			self::$object[$alias] = $obj;
		}
		//从注册器上获取对象
		public static function get($name){
			if(!isset(self::$object[$name])){
				return false;
			}
			return self::$object[$name];
		}
		//从注册器上删除对象
		public static function _unset($name){
			unset(self::$object[$name]);
		}
	}

利用前面学习的工厂模式配合注册器来使用

<?php
//创建一个工厂类
class Factory
{
	public static function getDb()
	{
		//实例化使用的类
		$db = new Database();
		//添加到注册器
		Register::set('Db',$db);
		return $db;
	}
}

如何通过工厂模式加注册器模式调用

<?php
//通过注册器模式来获取Db对象
Register::get('Db');

设计模式的教程文档地址: 设计模式文档

设计模式的视频教程地址(Rango的大话PHP设计模式):大话PHP设计模式

北溟有鱼QAQ博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论