У меня есть класс Form
, который содержит хэш Question
элементов.
class Form
{
Dictionary < int , Answer> listOfQuestions;
}
class Question
{
int questionId = 2;
int dependsOnQuestion = 1;
string answer;
public bool IsDependancyMet() {/*problem*/}
}
Я хочу, чтобы один вопрос зависел от ответа на другой вопрос, скажем, если ответ на вопрос 1 «женат», отобразите вопрос 2, в противном случае не отображайте его.
Каков будет правильный способ реализации этого?
Это будет добавление ссылки экземпляра Form к экземпляру вопроса, чтобы позволить последующему доступу к хэшу вопросов. Хотя мне это не нравится.
Другой способ - добавить метод к классу Form
, который получает идентификатор вопроса и проверяет, выполнены ли все его зависимости, но опять же, вопрос должен знать об экземпляре формы.
В нижней строке:
Кто должен проверить зависимости и как сделать систему модульной, а каждый класс - менее осведомленным о своей среде? Или, по крайней мере, избегайте циклических ссылок.
Заранее спасибо.