Просто хочу спросить о простом шаблоне лица.
Я прочитал статью, где описаны эти класс и интерфейс:
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);
Только в этом примере я не могу различить разницу и смысл.
Спасибо за любой разумный ответ.