3

長い計算を実行するさまざまな関数クラスがあります。現在、関数の結果へのすべてのアクセスは、関数を再計算することを意味します。そのため、ソリューションに MemoryCache を組み込みたいと考えています。しかし問題は、関数クラスの変更を監視する ChangeMonitor クラスが必要なことです。ファイルを監視する例を見てきました。私の質問は、カスタム ChangeMonitor を作成する必要がありますか、それとも簡単な解決策がありませんか?

明確にするための例:

class MyFunction
{
    //I want to monitor changes to these parameters
    private int param1;
    private int param2;

    //This result should be cached
    public int GetResult()
    {
        return param1 * param2;
    }
};
4

2 に答える 2

0

すべての答えをありがとう。

ChangeMonitor クラスを使用したい場合は、メモリ セグメントを監視するように拡張する必要があることに気付きました。私の場合のより良い解決策は、関数の結果が変更されたことをキャッシュに警告することです。MyFunction クラスにメソッド 'Reset' を追加してこれを行いました。パラメータが変更されるたびに、キャッシュを無効にする Reset 関数を呼び出すだけです。

于 2012-10-15T14:19:00.790 に答える