2010-06-22 5 views
0

데스크톱 응용 프로그램에서 MVC 패턴을 사용하면 해당 컨트롤러에보기를 도입하는 좋은 방법은 무엇입니까? 예를 들어 생성자 삽입을 사용하여 컨트롤러에보기를 제공 한 다음보기에서 컨트롤러에 setView 메소드를 호출하고 자신을 인수로 전달해야합니까?MVC 패턴으로 뷰 & 컨트롤러를 '소개'하는 방법은 무엇입니까?

은 (질문은 어떤 프레임 워크/플랫폼 특정하지 않습니다.)

답변

3

조회수가 가능한 벙어리해야한다. 그들은 특정 콘트롤러를 인스턴스화하는 것에 의존하거나 알 필요가 없다. 기껏해야 그들은 일반적으로 사용되는 모델을 감싸는 "뷰 데이터"객체의 일부로 구성시 전달되는 일종의 기본 컨트롤러 클래스 참조에 액세스해야합니다.

컨트롤러가보기를 인스턴스화하고, 표시 할 모델에보기를 제공하고,보기의 결과를 리턴해야합니다. 뷰는 컨트롤러로 돌아가서 반환 할 내용을 알려주지 않아야합니다. 뷰에 대한 논리적 인 흐름을 제어하기 때문에 실제로 MVC와 유사하지 않습니다.

+0

고마워요! 첫 번째 부분에 대해서, 언제 모델을보기보다는 기본 컨트롤러 클래스 참조를보기를 원하십니까? – fig

+0

당신은 그것을 모두 줄 것입니다. 구현에 따라 컨트롤러 참조를 제공하는 데 * 반드시 필요한 것은 아니지만 일반적으로 컨트롤러는 사용자의 관점에서 필요할 수있는 초기 요청 데이터에 액세스 할 수 있습니다. 예를 들어 ASP.Net MVC에서 각 뷰에는 모델이 전달되지만 ViewController 객체를 보유하는 "ViewData"라는 잘 알려진 구조가 있습니다.이 뷰는 요청 데이터에서 뷰를 돌릴 필요가있을 때 액세스 할 수 있습니다 . – womp

관련 문제