Wzorce projektowe: Builder
Wzorzec projektowy Builder jest wzorcem konstrukcyjnym. Jego celem jest hermetyzacja kodu odpowiedzialnego za tworzenie obiektów od kodu klienta. Od wzorców z rodziny fabryk różni go jeszcze to, że Builder potrafi budować obiekty wg różnych algorytmów krok po kroku – Fabryki budują obiekty o zbliżonych funkcjonalnościach w jednym etapie. Wzorzec Builder składa się: z interfejsu reprezentującego abstrakcyjnego budowniczego, klas go implementujących jako konkretni budowniczowie, Klasy Director, która zarządza procesem budowania, oraz produktem który ma zostać wyprodukowany. Produkt który chcemy produkować:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class Drink { private String name = ""; private Map<String, Integer> plyny = new HashMap<String, Integer>(); //nazwa i obj. w ml private List<String> dodatki = new ArrayList<String>(); public void setName(String name) { this.name = name; } public void addPlyn(String nazwa, int ilosc) { plyny.put(nazwa, ilosc); } public void addDodatek(String nazwa) { dodatki.add(nazwa); } } |
[…]