2011-09-21 10 views
1

가능한 중복 : 모델, 뷰, 컨트롤러 혼란


Understanding Model-View-Controller

나는 보통 내 코드를 분할하는 방법에 대한 일반적인 프로그래밍 질문이 (내가 얻으려고 멀리이) 그냥 viewController, 많이 및보기 컨트롤러에서 코드를 많이 씁니다. 하지만 지금은 MVC에 대한 정보를 검토했지만 몇 가지 질문이 있습니다.

주로 내 질문, 만약 내가보기 컨트롤러, 그래서 그냥 간단한 지능 (모델과 뷰를 잡고), 그리고 모델에서 나는 방법은 뷰의 번호 표시를 파악 실행 보기가 화면에 표시되고 표시됩니다. 내 모델이 내 뷰에이를 지시하도록하기 위해 모델 ----> 뷰에서 바로 이동해야합니다. 아니면 데이터를 다시 컨트롤러로 돌려서 뷰로 보내야합니까?

마지막으로 컨트롤러에 데이터를 다시 보내야하는 경우 모델에 컨트롤러에 대해 알지 못한다고 생각했기 때문에 어떻게해야합니까?

오랜 질문은 죄송합니다. 모든 도움에 감사드립니다.

+0

난 내 이해 모델에 대해 알고있는 당으로 - * 데이터베이스 * 보기 - * 당신은 * 컨트롤러 펜촉을 사용하여 만들거나 문법적으로 프로 레이아웃 - 당신은 당신의 질문 아이폰 OS 태그 때문에 * 당신의 UIViewController * –

+0

, 나는 그것을 생각 @bzlm이 언급하는 질문을 보는 것은 매우 좋은 지적입니다. Apple의 MVC는 일반적으로 의미있는 것과는 약간 다릅니다. –

답변

0

그물에 대한 많은 정보가 있습니다. Wikipedia에서 :

  1. 사용자가 마우스 버튼을 누름으로써, (예를 들어, 어떤 방법은 사용자 인터페이스와 상호 작용 :

    비록 MVC 여러 가지 유형이 다음과 같이, 제어 흐름은 일반적).

  2. 컨트롤러가 모델에 사용자 작업 (예 : )을 알리면 모델의 상태가 변경됩니다. (예를 들어, 컨트롤러는 사용자의 쇼핑 카트를 업데이트합니다.)

  3. 뷰는 (뷰가 쇼핑 카트의 내용을 나열 예를 들어) 적절한 사용자 인터페이스를 생성하기 위해 모델을 조회합니다. 뷰는 모델에서 자체 데이터를 가져옵니다. 일부 구현에서 컨트롤러는 자체를 렌더링하기 위해 뷰에 일반 명령을 내릴 수 있습니다. 다른 버전에서는 화면 업데이트가 필요한 상태 (Observer)의 변경 모델에 의해보기가 자동으로 통보됩니다.

  4. 사용자 인터페이스가 추가 사용자 상호 작용을 기다리며, 은 제어 흐름주기를 다시 시작합니다.

MVC의 목표는 건축 설계에 복잡성을 줄이고 유연성과 코드의 유지 보수성을 높이기 위해 모델과 뷰 디커플링에 의해입니다.MVC는 자율의 을 설계를 단순화하는 데 사용 및 자체 관리 시스템

한, 당신은 단순히 당신의 DB-작업을 위해 interfaceobjects에 대한 의견을 모델 클래스를 가질 수 있습니다 당신이 바인딩을 사용하지 않는
0

되었습니다 컨트롤러는 데이터를 이전 데이터에서 검색하여 데이터를 후자에 넣고 공정하게 구조화합니다. 돌아 오는 길 : 앱의 모든 기능은 한 가지 이벤트 또는 다른 이벤트에 의해 트리거됩니다. 그것들에 따르면, 인터페이스 (-> 아웃렛)에서 적절한 값을 가져와야합니다. 그 밖의 모든 것에 대해서는 실제로 컨트롤러와 바인딩을 더 공부해야합니다.

관련 문제