Budowniczy - realizacja UML

0

Witam, zgłaszam się z do Was, bardziej doświadczonych osób o weryfikację stworzonego przeze mnie diagramu UML przedstawiającego
wzorzec projektowy - budowniczy.

Tworzy on obiekty różnych turniejów pokerowych.
W załączniku diagram UML.
Nie sugerujcie się treścią merytoryczną diagramu.
Z góry dziękuje za uwagi co zrobiłem źle, co poprawić itp.

1

Pierwsza rzecz, która się rzuca w oczy to złe nazewnictwo, budowniczy to builder a nie factory, w fabryce byś miał po prostu różne metody tworzące od razu cały obiekt, builder jest bardziej szczegółowy.
Wydaje mi się, że gettery są zupełnie niepotrzebne, natomiast w setterach mógłbyś zrobić żeby zamiast void zwracały ten sam obiekt, wtedy możesz wygodniej tworzyć za pomocą buildera (zakładając, że stosujesz go w wielu miejscach), np. turniej = turniejBuilder.setX(...).setY(...).build(); choć oczywiście wadą tego jest trudniejsze debugowanie takich łańcuchów.
Zamiast korzystać z HashMap, lepiej użyć bardziej ogólnego interfejsu tj. Map, to jest taki ogólny best practice, żeby jak najbardziej korzystać z interfejsów, nigdy nie wiesz czy za jakiś czas nie okaże się, że wydajniejszy jest tutaj TreeMap.
Na UML się słabo znam, ale wydaje mi się, że agregacja zachodzi w drugą stronę, tzn. romb jest przy tym obiekcie który posiada kolekcję danych obiektów. Te strzałki między Turniej a TurniejFactory powinny raczej być inne niż te pomiędzy TurniejFactory a implementacjami, ponieważ jest to inny rodzaj relacji.

0

dzięki za uwagi, czas poprawić :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1