我正在阅读关于PHP中的设计模式,我对我为实现工厂设计模式而编写的代码持怀疑态度。PHP中的工厂设计模式,这是正确的吗?
此代码是否实施REAL工厂设计?
而且,我需要在这里使用任何接口吗?
的代码是:
class DBFactory
{
const MYSQL = 1;
const ORACLE = 2;
const SQLITE = 3;
private $objectTxt = null;
function __construct($type)
{
if ($type == self::MYSQL) {
$this->objectTxt = 'MySQL Object';
return ; //MySQL Object
}
else if ($type == self::ORACLE)
{
$this->objectTxt = 'Oracle Object';
return ; //Oracle Object
}
else if ($type == self::SQLITE)
{
$this->objectTxt = 'SQlite Object';
return 'SQLite Object'; //SQLite Object
}
}
function __toString() {
return $this->objectTxt;
}
}
看起来像一个对象,它实现了它自己的f实例时间的工厂。通常我会希望看到静态方法或完全独立的类。查找Doctrine DBAL,这就是工厂模式。 – Flosculus
@Flosculus **通常**表示理想? – Ahmad
**通常**意味着**常规** – Flosculus