1. 程式人生 > 實用技巧 >php 簡單工廠模式

php 簡單工廠模式

工廠模式,就是負責生成其他物件的類或方法。

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類的工作。