前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式之注册器模式

设计模式之注册器模式

作者头像
北溟有鱼QAQ
发布2019-12-18 17:34:02
2.6K0
发布2019-12-18 17:34:02
举报
文章被收录于专栏:北溟有鱼QAQ北溟有鱼QAQ

注册器模式

  1. 注册器模式是一种基础常见的设计模式,它的主要意思是把多个类的实例注册到一个注册器类中去,然后需要哪个类,由这个注册器类统一调取。
下面实现一个简单的注册器类
代码语言:javascript
复制
<?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]);
		}
	}

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

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

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

代码语言:javascript
复制
<?php
//通过注册器模式来获取Db对象
Register::get('Db');
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注册器模式
    • 下面实现一个简单的注册器类
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档