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:

  1. Stworzenie interfejsu Targetowy: Definiuje on interfejs, którego oczekuje klient.
  2. 
    interface Target {
        public function request();
    }
    				
  3. Stworzenie Adaptee: Klasa, którą chcemy zaadaptować, posiadająca niekompatybilny interfejs.
  4. 
    class Adaptee {
        public function specificRequest() {
            return "Wywołanie metody specificRequest()";
        }
    }
    				
  5. Stworzenie Adaptera: Klasa implementująca interfejs Target i używająca Adaptee.
  6. 
    class Adapter implements Target {
        private $adaptee;
    
        public function __construct(Adaptee $adaptee) {
            $this->adaptee = $adaptee;
        }
    
        public function request() {
            return $this->adaptee->specificRequest();
        }
    }
    				
  7. Użycie Adaptera: Klient korzysta z interfejsu Target, nie wiedząc o istnieniu Adaptee.
  8. 
    $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!

Dodaj komentarz 0

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