php 簡單工廠模式
阿新 • • 發佈:2020-07-11
工廠模式,就是負責生成其他物件的類或方法。
1 類實現
比如,我們有一些類,它們都繼承自交通工具類:
interface Vehicle
{
public function drive();
}
class Car implements Vehicle
{
public function drive()
{
echo '汽車靠四個輪子滾動行走。';
}
}
class Ship implements Vehicle
{
public function drive()
{
echo '輪船靠螺旋槳划水前進。';
}
}
class Aircraft implements Vehicle
{
public function drive()
{
echo '飛機靠螺旋槳和機翼的升力飛行。';
}
}
再建立一個工廠類,專門用作類的建立,:
class VehicleFactory
{
public static function build($className = null)
{
$className = ucfirst($className);
if ($className && class_exists($className)) {
return new $className();
}
return null;
}
}
工廠類用了一個靜態方法來建立其他類,在客戶端中就可以這樣使用:
VehicleFactory::build('Car')->drive();
VehicleFactory::build('Ship')->drive();
VehicleFactory::build('Aircraft')->drive();
省去了每次都要new
類的工作。