Dzisiaj12 czerwca, 2021

Wzorzec Fabryka

Jest to jeden z najprostszych wzorców projektowych. Zgodnie z nazwą wzorzec fabryka (ang. factory) służy do produkowania obiektów. Poniżej interpretacja graficzna:

A tutaj przykładowy kod z użyciem wzorca fabryki:

<?php
class Samochod
{
    private $nazwa;
    private $model;

    public function __construct($nazwa, $model)
    {
        $this->nazwa = $nazwa;
        $this->model = $model;
    }

    public function getNazwa()
    {
        return $this->nazwa;
    }
    public function getModel()
    {
        return $this->model;
    }
}

class FabrykaSamochodow
{
    public static function create($nazwa, $model)
    {
        return new Samochod($nazwa, $model);
    }
}

$audi = FabrykaSamochodow::create('Audi', 'R8');

print_r($audi->getNazwa() . " " . $audi->getModel()); // zwróci 'Audi R8'

Budowanie kodu z użyciem fabryki może przynieść dwie korzyści: Jeśli chcielibyśmy zmienić nazwę klasy to musimy zmienić tylko nazwę fabryki. W przypadku gdy tworzenie obiektu jest skomplikowanym zadaniem – modyfikujemy tylko kod fabryki, zamiast tworzyć nową instancję obiektu.

Należy wiedzieć kiedy używać odpowiedniego wzorca. Powyższy przykład w rzeczywistości jest na tyle prosty, że wzorzec fabryki dodaje mu niepotrzebną złożoność.

Udostępnij artykuł
guest
0 komentarzy
Inline Feedbacks
View all comments