Wzorce projektowe – Adapter
Założenie: Pokażemy, jak za pomocą wzorca Adapter połączyć dwie klasy o różnych interfejsach, aby mogły ze sobą współpracować.
Krok po kroku:
- Stworzenie interfejsu Targetowy: Definiuje on interfejs, którego oczekuje klient.
- Stworzenie Adaptee: Klasa, którą chcemy zaadaptować, posiadająca niekompatybilny interfejs.
- Stworzenie Adaptera: Klasa implementująca interfejs Target i używająca Adaptee.
- Użycie Adaptera: Klient korzysta z interfejsu Target, nie wiedząc o istnieniu Adaptee.
interface Target {
public function request();
}
class Adaptee {
public function specificRequest() {
return "Wywołanie metody specificRequest()";
}
}
class Adapter implements Target {
private $adaptee;
public function __construct(Adaptee $adaptee) {
$this->adaptee = $adaptee;
}
public function request() {
return $this->adaptee->specificRequest();
}
}
$adaptee = new Adaptee();
$adapter = new Adapter($adaptee);
echo $adapter->request(); // Wyświetli: Wywołanie metody specificRequest()
Ten przykład pokazuje podstawowe zastosowanie wzorca Adapter. Zachęcamy do dalszego zgłębiania tematu wzorców projektowych w PHP!