Motywacja dla prostego wzoru fabryki i metody fabrycznej

Wiem, że jest wiele pytań na temat różnic w różnych wzorach fabrycznych, ale odpowiedzi są tak różne i mylące. Książki, które czytam, używają niejasnych i (ponad) uproszczonych przykładów. Mam wiele pytań nawet po przeczytaniu wyjaśnień w Wikipedii i wielu wyjaśnień online na ich temat, w tym wszystkich na tej stronie. Książka, którą aktualnie czytam, to wzory pierwszej głowy.

W Simple Factory klient używa oddzielnej klasy (Creator) z fabryczną metodą (która MOŻE być statyczna), aby zwrócić Produkty.

W Factory Method Pattern twórca i klient są tym samym i używają abstrakcyjnej metody w tej samej klasie do tworzenia nowych produktów, na których działają w tej samej klasie. Oczywiście Twórca (lub Klient) jest abstrakcyjny, więc decyzja o utworzeniu Produktu Betonowego jest odroczona do podklasy.

Czy moje zrozumienie jest poprawne (np. Czy klient i twórca w FMP są tym samym, nigdy nie widzę klienta na diagramie FMP)?

W Factory Method Pattern wydaje się, że metoda tworzenia nie nadaje się do ponownego użycia poza Stwórcą, więc może być ponownie użyta tylko podczas tworzenia nowego Stwórcy?

W jakich sytuacjach mogę wybrać jeden nad drugim?

(P.S. Nie zaznaczaj tego jako duplikatu, chcę to wyjaśnić na tej stronie)

questionAnswers(6)

yourAnswerToTheQuestion