2012-07-12 4 views
0

저는 MVC를 잘 알고 있습니다. (적어도 제가 생각하기에) 저는이 접근법을 사용하여 꽤 많은 응용 프로그램을 개발했습니다. 하나의 것은 나를 괴롭힌다 :MVC 패턴에 대한 설명이 필요합니다.

모든 다이어그램에서 내가 본 모델은 컨트롤러와 뷰/모델 사이에 직접 연결뿐만 아니라 뷰와 모델 간의 연결을 가진 삼각형으로 그렸다. 보기는 중간에 컨트롤러없이 직접 말하십시오).

개발자로서 내 모든 해에는 항상 중개자 역할을하는 컨트롤러와 함께 모델과 뷰 사이에 완벽한 분리가 있었고 이해할 수있는 것처럼 이것이 최선의 방법이기도합니다.

그래서 어떤 상황에서 모델이보기와 직접 대화하고 싶습니까? 간단한 예를 들어 줄 수 있니?

답변

1

모델이보기에 이야기하지 않습니다. 그러나 뷰는 모델에 포함 된 데이터를 표시하고 모델에서 메서드를 호출하여 모델을 표시합니다. 요청에

  1. 컨트롤러 (서비스 레이어를 통해) 데이터베이스에서 모델을 가져 와서 저장합니다
  2. 보기 가져 적절한 뷰
  3. 컨트롤러 파견하십시오 다이어그램에서 그들 사이의 링크가 이유는 아마 모델 데이터 및 간단한 데이터 바인딩 작업을 위해,보기는 모델에서 직접 업데이트 할 수 있도록 "컨트롤러 감독"로 HTML을
+0

내가 생각한 것,하지만 나는이 기사가 직접적으로이 업데이트와 같은 업데이트를 요구할지도 모른다고 말하는 몇 가지 기사를 보았다. http://www.codeproject.com/Articles/288928/Differences-between-MVC-and- MVP-for-Beginners, 이렇게 잘못되었거나 오래된 접근법입니까? – Tomer

+0

이 기사에서는 웹 개발 컨텍스트가 아닌 데스크톱 애플리케이션의 MVC 패턴에 대해 설명합니다. –

1

일부 모델 - 뷰 - 발표자 디자인 패턴을 생성

http://msdn.microsoft.com/en-us/library/ff647543.aspx

또한 ModelView - ViewModel 패턴이 있지만 컨트롤러 로직을보기로 이동 한 것과 마찬가지로 MVC와 동일합니다. (C를 감독 승/MVP 및 MV-VM은)

http://russelleast.wordpress.com/2008/08/09/overview-of-the-modelview-viewmodel-mvvm-pattern-and-data-binding/

그러나 두 대안을 정말 후드 MVC 단지 변화이다 : 일부 WPF 응용 프로그램은 데이터 소스에서 빠른 UI 업데이트 MV-VM을 사용합니다.

+0

감사합니다, 나는이 패턴을 알고 정확히 내 질문에 대답하지 않지만, 당신은 efort에 대한 upvote를 얻을 : – Tomer

+0

고마워. 예를 들어 웹 페이지에 SQL 및 데이터베이스 연결 코드가 작성되어 사용자가 선택한대로 항목을 업데이트 할 수 있습니다. 사용자가 드롭 다운 목록에서 국가를 선택하면 웹 페이지가 드롭 다운 값을 SQL에 전달하여 데이터베이스를 다시 호출하여 해당 국가의 도시를 다른 드롭 다운 목록에 가져옵니다. – fuzzyanalysis

관련 문제