For modern client-server application such as this game (which doesn't really require 100% "real-time" communication) I'd suggest utilizing the HTTP (Websockets would be perfect) protocol at first, which will give you enough flexibility with proven stability & solidity for the communication itself.
Specific technology would be Spring for example.
On top of that I'd implement the Facade pattern which exposes your server's functionality to your client app in one unified "layer".
From there you could certainly use the Strategy pattern you're considering.
That said as a general suggestion for this particular requirement, of course there are other nice ways.