구현 구조 — Client · Shared · Server

모든 언어가 같은 logical component를 같은 책임으로 구현한다 (Api=HTTP·user source, Play=stream·game state)

구현 구조 — Client · Shared · Server 모든 언어가 같은 logical component를 같은 책임으로 구현한다 (Api=HTTP·user source, Play=stream·game state) Program · Client Program Scenario · room·인증·join·mark·leave · Client Scenario room·인증·join·mark·leave Configuration · role·endpoint·channel·marker · Shared Configuration role·endpoint·channel·marker JSON Contracts · HTTP·stream·room·state · Shared JSON Contracts HTTP·stream·room·state Program · Server / Api — HTTP·user source Program Application · CreateGame·AuthenticatePlayer · Server / Api — HTTP·user source Application CreateGame·AuthenticatePlayer Infrastructure · Http·UserSource·SpotManager·Reg · Server / Api — HTTP·user source Infrastructure Http·UserSource·SpotManager·Reg Program · Server / Play — stream·game state Program Domain · Board·Match·TurnPolicy · Server / Play — stream·game state Domain Board·Match·TurnPolicy Application · Join·Mark·Leave·Publish · Server / Play — stream·game state Application Join·Mark·Leave·Publish Infrastructure · 7 modules → 카드 · Server / Play — stream·game state Infrastructure 7 modules → 카드 Client Shared Server / Api — HTTP·user source Server / Play — stream·game state

전체 트리 경로

  • • 루트 TicTacToe의 top-level 3개: Client · Shared · Server. Server가 Api와 Play를 담는다. Client는 파랑(client app), Api는 파랑(HTTP·user source app), Play는 초록(Spot·actor·game state), Shared는 중립(회색) 공통 자산.
  • • Client { Program, Scenario } · Shared { Configuration, JSON Contracts }.

Server / Api 하위 파일

  • • Program.
  • • Application { CreateGame, AuthenticatePlayer }.
  • • Infrastructure { HttpHandlers, UserSourceAdapter, SpotManagerAdapter, HandlerRegistration }.

Server / Play 하위 파일

  • • Program.
  • • Domain { Board, Match, TurnPolicy }.
  • • Application { JoinGame, PlaceMark, LeaveGame, MilestonePublisher }.
  • • Infrastructure { StreamSession, EntrySpot, PlayerActorRelocationAdapter, RoomSpot, MulticastHandlers, StoreProviders, HandlerRegistration }.