Menu

Wzorce projektowe – Builder

18 kwietnia 2017 - .NET, Wzorce projektowe

W tej serii będę opisywał najpopularniejsze wzorce projektowe. Nie odkryję tu Ameryki, jednak posty te będą powstawać głównie dla utrwalenia wiedzy i możliwości szybkiego jej przejrzenia, a jeżeli komuś się to przyda to tym lepiej.

Na pierwszy ogień idzie jeden z podstawowych wzorców konstrukcyjnych a więc tytułowy „Builder”

Zalety: Za pomocą tego wzorca oddzielamy proces tworzenia obiektu od jego implementacji (za przykład mogą tu posłużyć wszelkiej maści konwertery potrafiące dać wiele formatów wynikowych).

Składowe:

  1. Builder – jest interfejsem abstrakcyjnym służącym do tworzenia obiektów.
  2. ConcreteBuilder 
    • Tworzy i łączy poszczególne składniki ze sobą.
    • Generuje i śledzi poszczególne wygenerowane składniki.
    • Udostępnia interfejs do pobrania gotowego obiektu.
  3. Director – tworzy obiekt za pomocą interfejsu klasy „Builder”.
  4. Product
    •  To on reprezentuje nasz wygenerowany złożony obiekt
    • Zawiera klasy definiujące składowe obiektu, oraz interfejsy do ich łączenia

 

Na diagramie przedstawia się to następująco:

 

Zastosowanie:

 

Czas na odrobinę kodu

  1. Tworzymy model naszego pożądanego obiektu (Product), który będzie tworzony przy użyciu Director’a implementującego interfejs Buildera
  2. Kolej na nasz abstrakcyjny interfejs (Builder), który pomoże stworzyć nasz pożądany obiekt (Product).

    Dla ułatwienia tego przykładu utworzyłem klasę Assembly

  3. Czas na Concrete Builder, który implementuje nasz interfejs (Builder). W moim wypadku są tą trzy klasy.
  4. Director, odpowiada za prawidłową sekwencję budowania naszego obiektu.
  5. Gotowy działający program

A poniżej wynik finalny działania naszego programu

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *