WinForms에서 MVP를 사용하려고 시도하고 있으며 하위 뷰 간의 조정을 가장 잘 처리하는 방법에 대해 혼란 스럽습니다.MVP에서 하위 뷰의 조정이 가장 잘 처리되는 방식은 무엇입니까?
예를 들어, 두 개의 자식보기가있는 부모보기가 있습니다. 하나의 하위 뷰에 대한 이벤트는 두 번째 하위 뷰에 의해 조치가 취해 지도록해야합니다.
상위보기가이를 직접 제어해야합니까? 이렇게하면 MVP 패턴을 우회하는 것처럼 보입니다.
자식보기가 생성자 매개 변수로 서로 가져와야합니까? 이 경우 첫 번째 하위보기에서 이벤트가 발생하면 두 번째 하위보기에서 이벤트를 수신 한 다음 발표자에게 무언가가 발생했음을 알립니다. 그러면 발표자는 두 번째 자식 뷰에 수행 할 작업을 알리기 위해 첫 번째 자식 뷰 (심지어 알지도 못하는)에서 데이터를 가져와야합니다. 그것 때문에 나는 뭔가를 놓치고있는 것처럼 느껴진다. 나쁜 생각입니다
public class ParentView : UserControl, IParentView
{
private ChildViewOne childViewOne;
private ChildViewTwo childViewTwo;
private ParentViewPresenter presenter;
private RegisterEvents()
{
childViewOne.EventOccured += new EventHandler(HandleEvent);
}
private void HandleEvent()
{
childViewTwo.DoSomething();
}
}
"한 자식 뷰의 이벤트로 인해 두 번째 자식 뷰에서 작업을 수행해야합니다." 일어나는 행동은 정확히 무엇입니까? – SwDevMan81
예를 들어 childViewOne이 타임 라인이고 childViewTwo가 비디오라고 가정합니다. 타임 라인은 TimeChanged 이벤트를 노출하며 비디오는 비디오의 현재 프레임을 변경하여 해당 이벤트에 응답해야합니다. – jameswelle