我正在閱讀關於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