MVP и богатый пользовательский интерфейс

Я хочу реализовать шаблон MVP для своего приложения. Фактически, пассивный просмотр MVP. Итак, я пришел к проблеме, она простая, но не могу решить, какой путь мне выбрать, поэтому Я хочу спросить вас, гуру, как правильно работать с MVP и отображать богатый пользовательский интерфейс.

Я имею в виду, давайте предположим, что нам нужно отобразить некоторые данные, и заказчик хочет, чтобы это было TreeView. Существует требование, что если пользователь выберет другой treenode, то приложение обновится с новые данные или что-то в этом роде. На данный момент я не уверен, как реализовать View. (Вся логика представления принадлежит докладчику)

Я не думаю, что это хорошая идея - раскрыть класс WinForms

ISomeForm : IView {
 //Presenter will take control of this TreeView.
 TreeView Host {
  get;
  }
}

или мои модели данных

ISomeForm : IView {
 //View knows how to display this data
 List<MyDataNodes> Items {
  get;
  set;
 }
}

или использовать другие интерфейсы представления.

ISomeForm : IView {
 //Presenter knows what Views presenter should display.
 List<IDataView> Items {
  get;
  set;
 }
}

Есть предложения?

5
задан Jeffers 25 August 2011 в 15:27
поделиться