Hej,
mam do napisania grę w statki w javaFX. Nie znam się za bardzo na architekturzę programów desktopowych, więc wymyśliłem dwa podejścia.
Pierwsze to coś w stylu restowego serwera. Obiekt gry udostępniałby metody w stylu makeMove, getGameState itp. (zwracające albo informację o braku tury gracza albo nowy stan gry) i odpowiednio gracze by wykonywali swoje ruchy.
Ale chwilę później wymyśliłem też sytuację odwrotną. Zrobić interface PlayerBehavior który zawierałby takie metody jak prepareBoard, makeMove, updateBoard itp. i gracze "zgłszaliby" się do gry po przez ten interface (np. jeden byłby kontrolerem FXowym, a drugi napisanym botem). Sam obiekt gry "zarządzałby" turami graczy odpowiednio wołając kolejne metody interface.
Które rozwiązanie wydaje wam się lepsze i dlaczego?