Wprowadzenie do Factory

Założenie: Zrozumieć podstawy wzorca projektowego Factory i stworzyć prosty przykład jego implementacji w PHP.

Krok po kroku:

  1. Stworzenie interfejsu dla produktu: Definiujemy interfejs, który będą implementowały nasze konkretne produkty. W tym przykładzie będzie to interfejs dla pojazdu.
  2. 
    interface Vehicle {
      public function getDetails(): string;
    }
    				
  3. Stworzenie klas konkretnych produktów: Tworzymy klasy implementujące interfejs `Vehicle`. Na przykład, samochody i motocykle.
  4. 
    class Car implements Vehicle {
      public function getDetails(): string {
        return "To jest samochód.";
      }
    }
    
    class Motorcycle implements Vehicle {
      public function getDetails(): string {
        return "To jest motocykl.";
      }
    }
    				
  5. Stworzenie fabryki: Tworzymy klasę fabryki, która będzie odpowiedzialna za tworzenie instancji konkretnych produktów na podstawie podanego typu.
  6. 
    class VehicleFactory {
      public static function createVehicle(string $type): Vehicle {
        switch ($type) {
          case 'car':
            return new Car();
          case 'motorcycle':
            return new Motorcycle();
          default:
            throw new InvalidArgumentException("Nieznany typ pojazdu.");
        }
      }
    }
    				
  7. Użycie fabryki: Tworzymy instancje pojazdów za pomocą fabryki.
  8. 
    $car = VehicleFactory::createVehicle('car');
    $motorcycle = VehicleFactory::createVehicle('motorcycle');
    
    echo $car->getDetails() . "\n"; // Wyświetli: To jest samochód.
    echo $motorcycle->getDetails() . "\n"; // Wyświetli: To jest motocykl.
    				

Ten przykład pokazuje podstawowe zastosowanie wzorca Factory. Pozwala on na tworzenie obiektów w sposób bardziej elastyczny i łatwiejszy w utrzymaniu.

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 *