발표자에게 자세한 정보를 얻으려면 사용자에게 프롬프트해야합니다. 어떻게 연결합니까?

StackOverflow https://stackoverflow.com/questions/1049339

  •  20-08-2019
  •  | 
  •  

문제

수동적보기 패턴으로 작업하고 있습니다. 사용자는 새 계정 버튼을 클릭합니다. View는 매개 변수가없는 메소드 호출을 사용하여 발표자에게 책임을 위임합니다.

문제는 여러 계정 유형이 있으므로 사용자가 작성하려는 계정 유형을 선택해야한다는 것입니다. 이것을 어떻게 해결합니까?

  1. 보기에서 새 양식을 작성하고, 필요한 정보를 가져오고, 발표자가 검색 할 수 있도록 속성으로 노출하십시오. (이것은 견해에 논리가 없어야한다는 개념을 무시합니다)
  2. 발표자로부터 새 양식을 작성하고 사용하십시오. (이것은 MVP의 전체 요점을 무시하고 발표자를 양식에 직접 연결합니다).
  3. 다른 곳에서 새 형식을 만들어 발표자에게 생성자 인수로 전달하십시오.
  4. 잊어 버리고 각 계정 유형에 새 버튼을 추가하십시오. (여러 계정 유형이 있으며 이것은 UI를 혼란스럽게하지만 그렇습니다.)
  5. 나는 이것에 대해 잘못된 길로 가고 내 디자인을 다시 생각해야합니다. (이 경우라면 올바른 방향으로의 멍청이가 높이 평가 될 것입니다.)
도움이 되었습니까?

해결책 4

이것에 대한 나의 해결책은 내가 예상했던 것과 달랐습니다. 사용자가 클릭 한 버튼을 DropdownMenubutton으로 변경했습니다. 그런 다음 드롭 다운 메뉴를 채우는보기에 계정 유형의 문자열 목록을 전달했습니다. 또한 드롭 다운 메뉴 항목 클릭 이벤트에 대한 이벤트 핸들러를 만들었습니다.이 이벤트는 메뉴 항목의 이름으로 공공 속성을 업데이트 한 다음 다른 모든 것을 발표자에게 위임합니다.

발표자는 노출 된 속성에서 메뉴 항목 이름을 가져 와서 계정 유형 이름을 키로 사용하여 계정 유형의 개인 사전에서 계정 유형을 조회해야합니다.

다른 팁

계정 유형을 얻기 위해 다른 발표자 뷰 쌍을 만들었을 것입니다. 그럼

  • 발표자는 다른 발표자에게 직접 전화하여 새 양식을 표시하거나
  • 발표자는 올바른 계정 유형에 대한 모델을 묻습니다. 이 모델은 다른 곳을 묻고 "계정 유형 발표자"또는 "계정 유형 모델"을 호출해야한다는 것을 알고 있습니다.

발표자가 다루기 힘들지 않으면 첫 번째 옵션으로 갈 것이라고 생각합니다.

저는 MVP 전문가가 아니지만 대의원을 사용하여보기에서 계정 유형을 얻음으로써이를 처리 할 것입니다. 발표자는 "계정 유형 선택"양식을 열어주는보기에서 대의원을 호출하고 사용자가 계정 유형을 선택하고 양식을 닫았을 때 선택한 계정 유형을 반환합니다.

계정 유형을 선택하기위한 간단한 인터페이스에 대해 이야기하는 경우 IMO는 계정 유형 수에 따라 다릅니다. 각 계정에 새 버튼을 추가하겠습니다. 그러나 계정 유형이 많으면 가능한 모든 계정 목록이있는 Combobox가 있고 첫 번째 (사용자가 먼저 보는)는 유효하지 않거나 선택되지 않은 유형입니다. 또한 "생성 할 계정 유형 선택"이라는 레이블을 추가 한 다음 Combobox의 값을 모델로 보내는 단일 버튼 프레스가 하나 있습니다. 이러한 방식으로 사용자가 계정 유형을 선택하지 않고 버튼을 클릭하면 모델이 유형을 유효하게하고 문제를보기에 반환합니다 (뷰는 텍스트 또는 텍스트를 빨간색으로 강조 표시 할 수 있습니다). 이는 사용자가 계정 유형 선택을 누락하지 못하게합니다. 이 접근법은 또한 단위 테스트를 더 쉽게 만들 것입니다.

작성 해야하는 다른 정보가있는 각 계정 유형에 대해 이야기하는 경우 각 계정마다 다른보기와 발표자가 있어야합니다. (사용자가 계정 유형을 선택한 후에 필요한 것입니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top