Wzorce projektowe – Factory

Założenie: Zrozumieć i zaimplementować wzorzec projektowy Factory w PHP, aby dynamicznie tworzyć obiekty różnych klas.

Krok po kroku:

  1. Stworzenie interfejsu: Definiujemy interfejs Product, który będą implementowały nasze produkty.
  2. 
    interface Product {
      public function getName(): string;
    }
    				
  3. Implementacja konkretnych produktów: Tworzymy klasy ConcreteProductA i ConcreteProductB implementujące interfejs Product.
  4. 
    class ConcreteProductA implements Product {
      public function getName(): string {
        return "Produkt A";
      }
    }
    
    class ConcreteProductB implements Product {
      public function getName(): string {
        return "Produkt B";
      }
    }
    				
  5. Stworzenie fabryki: Tworzymy klasę Factory z metodą createProduct, która zwraca obiekt odpowiedniej klasy w zależności od parametru.
  6. 
    class Factory {
      public function createProduct(string $type): Product {
        if ($type === "A") {
          return new ConcreteProductA();
        } elseif ($type === "B") {
          return new ConcreteProductB();
        } else {
          throw new InvalidArgumentException("Nieznany typ produktu");
        }
      }
    }
    				
  7. Użycie fabryki: Tworzymy instancję fabryki i używamy jej do tworzenia obiektów.
  8. 
    $factory = new Factory();
    $productA = $factory->createProduct("A");
    $productB = $factory->createProduct("B");
    
    echo $productA->getName() . "\n"; // Wyświetli: Produkt A
    echo $productB->getName() . "\n"; // Wyświetli: Produkt B
    				

Ten przykład pokazuje podstawowe zastosowanie wzorca Factory. Zachęcamy do dalszego zgłębiania tematu wzorców projektowych w PHP!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *