sobota, 6 grudnia 2014

Wzorce projektowe #03 - Metoda Wytwórcza (ang. Factory Method)

Cześć, tym razem postanowiłem przybliżyć sobie i Wam wzorzec metody wytwórczej. Jest on relatywnie często wykorzystywany i wplatany w inne wzorce - głównie wzorce fabryki. Myślę więc, że warto go poznać :)

Idea wzorca: 

Metoda wytwórcza należy do grupy wzorców konstrukcyjnych. Określa interfejs do tworzenia obiektów i przyjmuje na siebie odpowiedzialność za ich produkcję. Jednocześnie robi to w sposób elastyczny, to znaczy, że łatwo można dodać kolejny typ produktu do tworzenia. Dzięki temu aplikacja może zachować modułową strukturę.

Implementacja:

Generalnie implementacja opiera się na stworzeniu klasy kreującej różne obiekty na podstawie przesłanego parametru, jednak czasem może wystąpić potrzeba aby taka klasa dla tych samych parametrów tworzyła nieco inne produkty w zależności od kontekstu, dla tego warto stworzyć również interfejs określający funkcjonalność kreatora, aby w razie potrzeby móc dorobić kolejne implementacje opierające się na tym samym interfejsie.

Tutorial:

Tym razem tutorial podzieliłem na dwie części.
Pierwsza z nich to krótki, 5-cio minutowy filmik, w którym staram się przybliżyć ideę wzorca na prostym przykładzie, podpartym diagramami. Zaczynamy od naiwnej implementacji bez wzorca, a następnie modyfikujemy pomysł z użyciem metody wytwórczej, tak aby aplikacja stała się przejrzystsza i bardziej elastyczna.
Druga część to implementacje wcześniej wspomnianego przykładu. Przy okazji pokazuję również, trochę niestandardową metodę kodowania... zresztą, zobaczcie sami :)

Pierwsza część (koncepcja + wizualizacja):
Druga część (implementacja):

1 komentarz:

  1. Fajnie kodzisz, jak masz dużo czasu to mógłbyś robić więcej filmów na yt, niekoniecznie o wzorcach projektowych, ale o jakiś ciekawostkach, może testowaniu etc.

    OdpowiedzUsuń