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