作業中のアプリがあり、相互に依存する多数のデータがあります。基本的に、他の数値フィールドを計算するために使用される数値フィールドのセットがあり、それらは他のフィールドを計算するために使用されます。潜在的に多数の変更を処理する最善の方法を決定しようとしています。
私が考えた解決策の 1 つは、ユーザーが変更できる値のセッターをオーバーライドして計算を実行し、データ オブジェクト内の他の値を適切に更新することです。これの最大の欠点は、記述する必要がある (やや定型的な) コードの膨大な量です。
私が考えた別の解決策は、Key-Value Observing を使用してデータの変更を処理し、それらの変更から依存値を更新することです。独立した値が更新される場合を除き、依存する値は更新されないことに注意してください。これはもう少しエレガントだと思いますが、潜在的なパフォーマンスの問題、またはおそらく考慮していない問題について懸念しています。
私が見逃している第3の方法はありますか?この種の作業のベスト プラクティスはありますか? ある種のボイラープレート コードを大量に書かなければならない可能性が高いことはわかっています。このコードは、保守が最も簡単で、可能な限り最小限のコードにしたいと考えています。