2
나는 항목의 해시를 보유하는 클래스 Form
을 가지고 있습니다. 대답은 1 "결혼", 디스플레이 질문 2 질문 경우 사이클 참조 피하기
class Form
{
Dictionary < int , Answer> listOfQuestions;
}
class Question
{
int questionId = 2;
int dependsOnQuestion = 1;
string answer;
public bool IsDependancyMet() {/*problem*/}
}
나는 그것을 표시되지 않습니다, 그렇지 않으면, 하나의 질문은 다른 질문, 말의 대답에 의존합니다.
구현 방법은 무엇입니까?
Question 인스턴스에 대한 참조를 나중에 추가하여 에 질문의에 대한 액세스 권한을 부여 할 수 있습니까? 나는 그것을 좋아하지 않지만.
다른 방법은 Form
클래스에 메서드를 추가하는 것입니다.이 메서드는 질문 ID를 받으면 모든 종속성이 충족되었는지 확인하지만 다시 양식 인스턴스를 인식해야합니다.
최종 줄에 : 누가 시스템을 모듈화하고 각 클래스는 가능한 한 환경을 잘 모르는 채로 유지해야합니까? 또는 최소한 순환 참조를 피하십시오.
미리 감사드립니다. 개별 질문은 직접적인 의존성의 지식을 가지고있는 동안
class Form
{
Dictionary < int , Answer> listOfQuestions;
int firstQuestion;
public void NextQuestion() {
// ... cycle through `listOfQuestions` looking for a question
// whose dependencies are fullfilled and ask it.
}
}
class Question
{
// ...
public List<int> GetDependencies();
public void Ask();
// ...
}
Form
의 라인을 따라 뭔가에 대해, 글로벌 '질문'상태를 추적 무엇
답변 해 주셔서 감사합니다. 어쨌든 나는 가지고있는 질문 목록을 반복하고 각 질문에 .Ask() 또는 .Render()를 호출하는 Form.Display()가 있습니다. 문제는 질문이 반드시 같은 순서로 나타나지 않는다는 것입니다. 질문 12는 질문 4에 대한 대답에 달려 있습니다. 두 경우 모두 솔루션의 양식의 Render 메서드는 질문의 대답 또는 종속성에 대한 액세스 권한이 있으므로 질문의 표시 여부를 결정해야합니다. 답변을 이해했습니다. 감사. – Alex