0

このかなり単純な問題に関するいくつかの意見の直後。

たとえば、Excel スプレッドシートから大量のデータを抽出する DocumentParser クラスがあるとします。キャプチャされたデータは、「DataObject」などの別のオブジェクトでモデル化されます。ドキュメント パーサーは、これらのオブジェクトのコレクションを構築し、広範なデータセットに転送して、さらにタスクを実行できるようにします。

私の質問は、ドキュメント パーサーと同じクラスでデータセットの母集団を実装しますか、それとも単一責任の原則を順守して、それを新しいクラスにしますか? それが別のクラスである場合、データ オブジェクトのコレクションをそのクラスにどのように公開しますか?単にパラメーターとして渡しますか?

ありがとう。

4

1 に答える 1

1

DocumentParser クラスの責任は 1 つだけです。それは、データを解析し、そこからデータ構造を返すことです。このデータセットを処理するには、別のクラスを使用します。XML 全体を解析して (ドキュメントを返します)、このドキュメントを XML に書き戻す場合と同様です。DataObject のコレクションを別のクラスにラップして、それを反復処理できるようにし (ここでも、XML ドキュメントの解析のしくみを見てください)、単純な DataObject のコレクションではなく、カプセル化されたデータを渡すことをお勧めします。

于 2011-04-26T11:42:17.277 に答える