あなたの 2 番目のデザインは 1 番目よりも優れています。
後でレポートを生成する場合は、すべてのResultオブジェクトを収集して準備するだけです。
そして、各質問にはAnswerオブジェクトが添付されています。とオブジェクトQuestionnaireのリストが含まれます。QuestionAnswer
例: Questionnaireobject には次の属性が含まれる場合があります。
- Id または RollNo.
- 名前。
- 日にち。
- 主題。
- 質問一覧
- 回答のリスト。
5 & 6 を組み合わせてQuestionオブジェクトのリストにすることができます。このオブジェクトは、Answerオブジェクトで構成されている場合があります。したがって、質問のリストだけで十分です。
ユーザーの回答を記録したい場合、アンケートとアルゴリズムを結び付けた「回答」としてオブジェクトを作成する必要がありますか?
いいえ、Algorithm接続する必要はありません (合成など) Answer。入力としてQuestionandを受け取り、 return を返す必要があります。AnswerResult
私の質問は、どちらがより優れた OO 設計ですか? または、この場合の正しい OO 設計は何ですか?
私たちのシステムのさまざまなユーザー、彼らの期待、明示的および暗黙的な要件、入力形式、出力形式を調べて、あなたの設計を発見してください.
例えば:
ユーザーはどのように回答しますか? 単純なテキストですか、主観的ですか、客観的ですか、選択肢はいくつありますか? 等...