设计模式--工厂模式

2021-05-02

将同一类型的创建对象的过程写在工厂方法中,由工厂根据参数返回对应的类对象
可以创建一个工厂接口和多个工厂实现类,一旦需要增加新的功能,直接增加新的工厂类

这里的代码引用了前两篇文章中的注册树及单例的代码

<?php

class Factory
{
	// $db_class -> Db1/Db2
	public static function getDbInstance($db_class)
	{
		$db = Register::getInstance($db_class);
		if (!$db) {
			$db = $db_class::getInstance();
			Register::setInstance($db, $db_class);
		}
		return $db;
	}
}

 

{/if}