我总是难以在对象之间发送消息。考虑测验对象的层次结构:
- 测验
- 问题清单
- 问题
- 答案列表
- 回答
- 答案列表
- 问题
- 问题清单
所以:
一个测验有一个 QuestionList
一个 QuestionList 有多个 Questions
一个 Question 有一个 AnswerList
一个 AnswerList 有多个 Answers
当Answer 被点击时(我们在这里讨论的是Flash AS3):
Answer 通知AnswerList。
AnswerList 通知问题。
问题通知问题列表。
QuestionList 通知 Quiz。
换句话说,消息冒泡了。这是可能的,因为我通过它的“孩子”的构造函数传递了每个“父”对象。但我想我在某处读到对象不应该知道它的父级。我应该采取另一种方法吗?
谢谢。