Budowniczy - realizacja UML

antoniaklja
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 88
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.

AX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 33
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.

antoniaklja
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 88
0

dzięki za uwagi, czas poprawić :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.