Простая фабрика - в чем смысл? - PullRequest
0 голосов
/ 09 января 2019

Просто хочу спросить о простом шаблоне лица.

Я прочитал статью, где описаны эти класс и интерфейс:

interface Door
{
    public function getWidth(): float;
    public function getHeight(): float;
}

class WoodenDoor implements Door
{
    protected $width;
    protected $height;

    public function __construct(float $width, float $height)
    {
        $this->width = $width;
        $this->height = $height;
    }

    public function getWidth(): float
    {
        return $this->width;
    }

    public function getHeight(): float
    {
        return $this->height;
    }
}

и туда же подтолкнул фабричный класс:

class DoorFactory
{
    public static function makeDoor($width, $height): Door
    {
        return new WoodenDoor($width, $height);
    }
}

Что может отличаться:

$ door = DoorFactory: makeDoor (100, 200);

и

$ door = new WoodenDoor (100, 200);

Только в этом примере я не могу различить разницу и смысл.

Спасибо за любой разумный ответ.

...