2

List<>クラスの上下に2〜3個の独立したクラスを渡さなければならない状況があります。現在、ほとんどの場合、パラメーターを使用してリストを渡しているため、3 つのクラスすべてがリストを取得します。クラス全体に List を渡す代わりに静的リストを使用してコードを単純化しClass23.ListObjects.Add()、操作が完了したら静的値を解放して、次の操作が空のリストで開始されるようにする必要があります。現在、パラメーターが大量に取得されているように感じており、リストに正しい値が含まれているかどうか、次のクラスにリストを渡すのを忘れているなど、混乱しています。どう思いますか?

4

3 に答える 3

4

さまざまなクラス(必要に応じて「コンテキスト」クラス)によって実行される結合された操作を表す新しいクラスを作成することをお勧めします。操作を実行するために必要な値は、作業の実行に使用されるクラスのインスタンスとともに、そのコンテキストでインスタンス変数として保持できます。

そうすれば、「グローバル」変数を避けながら、ものを渡すことを避けます(コードが進化するにつれて、これはやや醜くなる可能性があります)。データは正確に必要な範囲内にあり、操作全体が完了すると破棄されます。

于 2012-06-07T02:08:10.863 に答える
1

コーディングの実践では、静的変数またはグローバル変数を持つことは良くなく、パラメーターを通過することは良いと考えられています。

于 2012-06-07T02:03:02.870 に答える
0

静的パラメーターを使用する場合、特にスレッド化が関係している場合、これらの関数がコード内の複数の場所で使用されていると、データが破損するリスクがあります。

たとえば、クラスAが静的リストに作用する関数を使用する必要があるとします。これらの関数が完了する前に、クラスBもそれらを使用しようとします。どちらの場合も同じ静的リストが使用されるため、リストは両方の呼び出しからデータを取得します。

于 2012-06-07T02:08:19.600 に答える