Wzorce projektowe – Decorator

Założenie: Stworzymy prosty przykład użycia wzorca Decorator, aby dodać nowe funkcjonalności do istniejącego obiektu bez modyfikowania jego kodu źródłowego.

Krok po kroku:

  1. Stworzenie podstawowej klasy: Zdefiniujemy klasę Coffee reprezentującą podstawowy napój.
  2. 
    
    				
  3. Stworzenie dekoratora: Zdefiniujemy abstrakcyjną klasę CoffeeDecorator, która będzie rozszerzać funkcjonalność Coffee.
  4. 
    coffee = $coffee;
      }
    
      abstract public function getDescription(): string;
    }
    ?>
    				
  5. Dodanie konkretnego dekoratora: Stworzymy klasę Milk, która dodaje mleko do kawy.
  6. 
    coffee->getDescription() . ", z mlekiem";
      }
    
      public function cost(): float {
        return $this->coffee->cost() + 0.5;
      }
    }
    ?>
    				
  7. Użycie dekoratora: Utworzymy obiekt Coffee i dodamy do niego dekorator Milk.
  8. 
    getDescription() . "
    "; echo "Cena: " . $coffeeWithMilk->cost() . " zł"; ?>

Ten przykład pokazuje podstawowe zastosowanie wzorca Decorator w PHP. Możesz dodać więcej dekoratorów (np. cukier, syrop) bez modyfikowania oryginalnej klasy Coffee. Zachęcamy do dalszego zgłębiania tematu wzorców projektowych!

Dodaj komentarz 0

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