Budowniczy

Budowniczy (ang. builder) jest to kreacyjny wzorzec projektowy, stosowany w projektowaniu oprogramowania, które wymaga konstruowania złożonych obiektów krok po kroku. Proces konstruowania może się zmieniać w zależności od rodzaju konstruowanego produktu. Wzorzec ten oddziela konstruowanie złożonego obiektu od jego reprezentacji, umożliwiając procesowi konstruowania tworzenie różnych reprezentacji.

Kiedy stosować?

  • Konstrukcja złożonych obiektów
  • Budowa obiektów krok po kroku
  • Unikanie konstruktorów z wieloma parametrami
  • Konfigurowalne tworzenie obiektów
  • Wspólny interfejs dla wielu reprezentacji

Kiedy nie stosować?

  • Prosta konstrukcja obiektu
  • Gdy wydajność ma krytyczne znaczenie

Kroki implementacji wzorca projektowego Budowniczy

  • Utwórz klasę produktu: Zdefiniuj obiekt (produkt), który zostanie zbudowany. Ta klasa zawiera wszystkie pola, które tworzą obiekt.
  • Utwórz klasę Builder: Ta klasa będzie miała metody ustawiania różnych części produktu. Każda metoda zwraca samego buildera, aby umożliwić łańcuchowanie metod.
  • Dodaj metodę kompilacji: W klasie konstruktora dodaj metodę o nazwie build()(lub podobnej), która składa produkt i zwraca obiekt końcowy.
  • Użyj klasy dyrektora (opcjonalnie): W razie potrzeby możesz utworzyć klasę dyrektora, aby kontrolować proces budowania i decydować o kolejności konstruowania części.
  • Klient używa konstruktora: Klient używa konstruktora, aby krok po kroku ustawić żądane części i wywołać metodę build() w celu uzyskania produktu końcowego.

Przebieg procesu budowania

  • klient używający wzorca konstruuje obiekt budowniczego,
  • klient konstruuje nadzorcę, przekazując mu referencję do obiektu budowniczego, z którego ma korzystać,
  • klient zleca skonstruowanie produktu,
  • dyrektor zleca budowniczemu wykonanie w odpowiedniej kolejności wszystkich czynności niezbędnych do stworzenia produktu,
  • klient pobiera gotowy produkt od budowniczego.

Dodaj komentarz