1

有名なオブジェクト指向プログラミング設計の S は、次の略です。

単一責任の原則。オブジェクトは単一の責任のみを持つべきであるという概念。

この原則は、配列、変数、およびプログラムのすべての要素にまで拡張できますか?

たとえば、次のようにします。

int A[100];

そして、それを関数の結果を格納するために使用しますが、同じ A[100] を使用して、たとえば、A のどのインデックスを既にチェックして精緻化したかをチェックします。これは間違っていると考えられますか?たとえば、すでにチェックしたインデックスなど、格納する別の要素を作成するべきではありませんか? これは将来の厄介なコードのヒントではありませんか?

PS: 私の質問が理解できない場合は申し訳ありませんが、英語は私の母国語ではありません. ポイントの理解に問題がある場合は、下のコメントでお知らせください。

4

2 に答える 2

1

同じAインスタンスが異なるプログラムコード部分で使用される場合は、この原則に従う必要があります。Aが補助変数、たとえばローカル変数の場合、気にする必要はないと思います

于 2012-02-20T14:19:21.590 に答える
0

更新された配列のビットの使用を追跡している場合は、おそらく配列を使用するのではなく、マップを使用する必要があります。

いずれにせよ、配列に対してそのような追加の制御が必要な場合は、基本的に、配列の内容と、実行されたことと実行されていないことに関するさまざまな情報の両方を含むクラスを検討する必要があります。したがって、配列は、コントロールと同様に、クラスオブジェクトに対してローカルになります。あなたには再び単一責任があります。

于 2012-02-20T14:31:59.657 に答える