Humble View / MVP с WinForms и коллекцией UserControls

Я занимаюсь рефакторингом приложения WinForms (.NET 4), которое использует TabControl для содержания UserControl - экземпляр UserControl создается на каждой странице TabPage, а конечным результатом являются редакторы на каждой вкладке.Это редактирование набора элементов, которые в конечном итоге передаются в объект, редактируемый формой в целом.

В качестве примера структуры класса:

  • class School
    • string Name
    • string Address
    • Коллекция Course s, каждое из которых имеет несколько соответствующих полей ( Department ], Имя и т. Д.)

(На самом деле это не школьное приложение, но метафора работает.)

Визуально набор UserControls управляет курсом es, в то время как родительская форма обрабатывает информацию School .

Прямо сейчас у меня есть докладчик для формы / школы и докладчик для пользовательского элемента управления / курса с представлением для каждого. Однако ведущий Школы должен контролировать некоторую информацию для Курсов. Например, параметры, выбранные для одного курса, ограничивают параметры для других. Модель School выполняет вычисления этого, но она должна быть доведена до докладчика курса.

У меня нет особых успехов в поиске примеров такого типа отношений в обсуждениях MVP, и я впервые использую подход MVP.Какие есть хорошие варианты для решения этой проблемы? Уместно ли для ведущего Школы иметь набор докладчиков Курса для представления набора? Должна ли школа собирать взгляды Курсов? (Последние элементы UserControl должны быть каким-то образом прикреплены к форме, верно?)

Мои основные цели (что неудивительно) - повышение тестируемости и ремонтопригодности, и основными источниками в этом процессе до сих пор были "The Humble" Майкла Фезерса. Диалоговое окно »и серию Джереми Миллера« Создай свой собственный CAB ».

5
задан Melissa Avery-Weir 31 January 2012 в 17:49
поделиться