アプリの更新中に下位互換性を維持するという問題に直面しました。私はクライアント/サーバー アーキテクチャを使用しており、クライアントはサーバーに情報を送信し、それに応じて最新のデータを受信します。アプリの次のバージョンでは、いくつかの新しいフィールドとメソッドが追加されています。また、古いバージョンのクライアントを使用すると、サーバーにいくつかのエラー (null ポインターや不適切なワークフローなど) が表示される場合があります。null の新機能を確認できますが、3 ~ 4 の異なるバージョンのクライアントがある場合、スパゲッティ コードと多くの潜在的な隠れたバグが発生します。
この問題の解決に役立つ設計パターンはありますか? 異なるクライアント バージョンでどのように対応するのですか?
前もって感謝します。