Wprowadzenie do Factory
Założenie: Zrozumieć podstawy wzorca projektowego Factory i stworzyć prosty przykład jego implementacji w PHP.
Krok po kroku:
- 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.
- Stworzenie klas konkretnych produktów: Tworzymy klasy implementujące interfejs `Vehicle`. Na przykład, samochody i motocykle.
- Stworzenie fabryki: Tworzymy klasę fabryki, która będzie odpowiedzialna za tworzenie instancji konkretnych produktów na podstawie podanego typu.
- Użycie fabryki: Tworzymy instancje pojazdów za pomocą fabryki.
interface Vehicle {
public function getDetails(): string;
}
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.";
}
}
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.");
}
}
}
$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!