大量のデータを含むクラスがあり、クラス内のデータに対していくつかの複雑な操作を行うことができます。このクラスには、一部のデータを取得できる、つまりクラスに含まれるオブジェクトインスタンスへの参照を取得できるメンバー関数もあります。すべてのデータはRAMに保持されます(バックグラウンドでトランザクションをサポートするDBはありません)。
ここで、一種のトランザクションコンセプトを実装したいと思います。つまり、StartTransaction()メソッドとRollback()メソッドを追加したいと思います。そして、これが私の問題の始まりです。オブジェクト参照を変更せずに、クラス内のデータを以前の状態に復元するにはどうすればよいですか(クラス外で使用される可能性があるため)。
したがって、すべてのクローン作成の概念は役に立ちません。
このアプローチの解決策はありますか、それとも私が従うべきではないほど奇妙なアプローチですか?代替案は何でしょうか?