2009-12-30 2 views
1

UI 요소의 활성화/비활성화와 관련된 로직을 구현할 책임은 MVP - 감독 컨트롤러 변형의 구성 요소에 어떤 것을 말해 줄 수 있습니까?MVP - 감독 컨트롤러

예를 들어, 확인란과 여러 텍스트 상자가있는보기가 있습니다. 이제 2 개의 텍스트 상자는 확인란을 선택한 경우에만 활성화해야합니다.

이것을 제어하는 ​​논리가 발표자 또는 모델의 책임이되어야합니까?

답변

2

Supervising Controller

  • 보기 당신이 필요 책임 구성 요소를 찾기 위해 발표자로 업데이트됩니다
  • 보기를 바인딩 간단한 데이터 모델을 순서대로 그래서 기본적으로

데이터 바인딩을 통해 상호 작용하는 것으로 가정 업데이트를 수행하기에 충분한 정보가 누구인지 확인하십시오. 선택 상태가 Model에 직접 매핑되면 View가 데이터 바인딩을 통해 올바른 상태를 유지합니다. 반면에 사용자 상호 작용에 반응 한 결과로 상태가 발표자에 의해 계산 된 경우 발표자에서보기를 업데이트 할 수 있습니다.

+0

확인란의 선택 상태가 모델에 직접 매핑됩니다. 따라서 2 개의 텍스트 상자를 비활성화하는 것이 책임있는 견해라고 말하고 있습니다. 당신이 '데이터 바인딩을 통해'무엇을 의미하는지는 확실하지 않습니다. 설명해 주시겠습니까? 감사합니다 – David

+0

예를 들어보기의 사용자 목록 및 모델의 사용자 개체에 부울 IsLocked 속성이있는 경우를 예로들 수 있습니다. 사용자 목록보기에 따르면 잠금 해제 된 사용자 만 확인란을 선택하여 선택할 수 있습니다. 이 경우 CheckBox.Enabled 속성은 매우 사소한 논리이므로 User.IsLocked에 바인딩됩니다. 그러나 상태 계산이 사소하지 않은 경우 Presenter에 넣는 것이 좋습니다. –