Factory Method i Abstract Factory
Pytanie:
Jaka jest różnica pomiędzy tymi wzorcami?
Odpowiedź:
We wzorcu Factory Method wykorzystywane jest dziedziczenie. Klasa dziedzicząca ma za zadanie nadpisać metodę fabrykującą w odpowiedni dla siebie sposób. We wzorcu Abstract Factory tworzenie obiektów jest wydelegowane do klasy fabrykującej.
I teraz pytanie czym jest metoda newInstance()w fabryce? Czy jest to metoda fabrykująca czy też metoda zwykła metoda? Otóż zgodnie z założeniami obu wzorców jest to zwykła metoda. Dlaczego? Ponieważ metoda ta nie jest przesłaniana przez podklasę.
Kod jest dostępny na licencji MIT. Jednak niektóre rozwiązania mogą być objęte inną licencją. W takim przypadku jest, to zaznaczone. Artykuły są dostępne na licencji CC-BY.
Jeżeli spodobał ci się ten wpis, to podziel się nim z innymi lub wesprzyj autora.