これはシリアライゼーションとバージョニングに関する質問です。名前、作曲家などの楽譜を保存する音楽データベースであるプログラムがあります...ユーザーが次回の起動時にデータベースをリロードできるように、各曲を隠しフォルダーにシリアル化します。
さて、Song クラスで何かを変更しなければならないとき、それが互換性のある変更であればすべて問題ありません。互換性のない変更を行った場合、「Song」という同じ名前で VersionUID が異なる 2 番目のクラスを作成できるのではないかと考えていました。次に、ソングを読み取るときに、保存されたバージョンが最新バージョンと一致しない場合、ソングを古い UID に読み込むメソッドに移動し、一連の手順を実行して新しいバージョンに変換します。これは可能ですか?
同じ名前でパラメーターが異なる複数のメソッドを使用できることは知っています。これは、クラスと VersionUID またはその他の変数で機能しますか?
ありがとう!