3

たとえば、ニュートンの法則 F=MA を計算する関数が必要なので、C# で次のようにコーディングします。

private double calcForce(double mass, double acceleration){
        return mass * acceleration;
}

private double calcMass(double force, double acceleration){
        return force / acceleration;
}

private double calcAcceleration(double force, double mass){
        return force / mass;
}

これは、数学関数の変数の数が少なく (F=MA は 3 つしかない)、より複雑な関数 (私の実際のタスクは、10 を超える変数を簡単に構成できる熱伝達/流体力学関数を扱うことです!) の場合にうまく機能します。メソッドの数は、その数学関数の変数の数に等しくなります。

それで、これを処理する良いデザインパターンはありますか? このようなものを使用する必要がありますか?

private double NewtonsLaw(double? force,double? mass,double? acceleration)
{
        if(!force.HasValue)
            return mass*acceleration;
        //else if
}

もう 1 つ、C# の代わりに Objective-C と Java でコーディングする必要があります。

4

3 に答える 3