0

私のアプリケーションは、遠心ポンプの羽根車の設計に使用されます。ユーザーは、winform GUI を介してリアルタイムで一部のプロパティ (流速、寸法など) を変更することが許可されており、ほとんどの結果がリアルタイムで提供されます。

13 のユーザー変更可能なパラメーターと約 70 の計算されたパラメーターがあります。

ほとんどの計算は数学的に非常に複雑であり、パラメーターの 1 つは反復が必要です (10 回以下の反復)。

これまでのすべてのパラメーターを含み、計算するクラスの私のソリューションは次のとおりです。

  1. ユーザーが変更可能なパラメーターと結果のパラメーターを計算するメソッドを記述するプロパティを使用するクラス。
  2. 不変で、作成中にすべてを計算するクラス。
  3. .NET 4.0 の Lazy クラスを使用した Lazy ソリューション

私は、レイジーソリューションを入手した場所からのCRでこの質問をしました。

だから私の質問は、どの方法が「リアルタイム」ソリューションに最も適しているかということです? 他のより良い解決策はありますか?

4

1 に答える 1

2

私は解決策 1 を使用します。各ポンプのプロパティは同じで、プロパティの値が異なるだけだと思います。

public class Pump
{
    public double Speed { get; set; }
    public double Size { get; set; }
    public void GetCFM() { return Speed * Size; }
}

を呼び出すと、GetCFM常に最新の計算が返されます。

を手動で呼び出したくない場合は、代わりにObserver パターンGetCFMを実装できます。オブザーバー パターンを使用すると、プロパティが変更されるたびに通知を受けるハンドラーをトリガーできます。

また、リアルタイム計算に関するあなたの理解は、この記事で説明されているものとは異なっているのではないかと思います。

于 2012-07-11T19:19:47.633 に答える