MVC 디자인 패턴에 대해 많이 읽었지 만 일부는 여전히 나에게 불분명합니다. "모델"은 데이터 및 비즈니스 로직 용이며 "보기"는 프레젠테이션 용이며 "컨트롤러"는 "모델"을 사용하고 "뷰"(즉 C는 M과 V 사이의 통신 채널)를위한 것입니다.MVC 디자인 패턴
지금, 내가 해결하려면 다음과 같은 문제가있다 :
문제 : 웹 응용 프로그램이 사용자로부터 입력으로 노드의 목록을합니다. 그런 다음 모델을 사용하여 해당 노드에서 그래프 (즉, 데이터 구조 그래프가 아니라 x-y 그래프가 아님)를 만듭니다 (데이터베이스 사용).
그런 다음 Dijkstra의 알고리즘을 사용하여 그래프의 시작 노드에서 끝 노드까지의 최단 경로를 찾습니다. 모델이나 컨트롤러에서 Dijkstra의 알고리즘을 사용합니까?
"최단 경로"자체가 데이터이기 때문에 모델 레이어를 사용해야한다고 생각합니다.
가끔은 모델 (그래프 및 노드 목록)을 사용하여 컨트롤러에 넣어야한다고 생각합니다.
누구든지 나에게 올바른 대답을 줄 수 있습니까? 지금은 모델 레이어에 Dijkstra의 알고리즘을 구현할 것입니다.
아주 좋은 이유입니다. 나는 그렇게 생각하지 않았다. 감사합니다 – coolscitist
내 질문에 대한 또 다른 회신이 있었지만 지금 어디로 갔는지 모르겠습니다. DIJKSTRA의 알고리즘은 CONTROLLER에 있어야하며 그 결과, SHORTEST PATH는 MODEL이어야합니다. 나는 그것이 올바른 대답이라고 생각한다. – coolscitist
나는 그렇게 생각하지 않는다. 알고리즘이나 결과가 컨트롤러에 없어야합니다. 컨트롤러는 뷰와 모델간에 대화하는 데 도움이됩니다. 그리고 다시 알고리즘의 단계 (실제 구현)가 모델에 있어야한다고 말했습니다. –