私はC++のリスクに基づいたネットワーク化されたボードゲームを作りたいと思っています。私のアイデアは、ユーザーが接続してゲームを作成/参加できるゲームロビーをホストする中央サーバーを用意することでした。この場合、オブザーバーパターンは魅力的です。サーバー上ですべてのゲームモデル/ロジックをホストでき、クライアントはこれを監視し、ビューを使用して現在のゲームの状態を表示するだけだからです。
私の最初の質問:このアプローチは可能ですか?私が聞いたり考えたりしたことのほとんどは、クライアントが独自のゲームモデルを持っているということです。ただし、計算量が多くないゲームを考えている場合、サーバーによってホストされる単一のモデルには利点があります(同期の問題がない、不正行為を防ぐなど)。
2番目の質問:ネットワーク上でオブザーバーパターンを実装するにはどうすればよいですか?ネットワークを介して直接メソッド呼び出しを行うことはできないため、データを使用してこれをシミュレートするための何らかの簡単な方法が必要になります。「プル」(オブザーバーがゲームデータの更新を要求する)または「プッシュ」(サーバーが新しい更新されたデータをすべてのクライアントにプッシュする)アプローチを使用すると、さらに多くの利点がありますか?