Сколько докладчиков следует использовать в Model View Presenter с Winforms со вкладками? - PullRequest
4 голосов
/ 15 января 2011

У меня есть форма с вкладками, относящимися к бизнес-объекту - например, у Person есть биографические данные, адресные данные и т. Д. Каждая вкладка обрабатывает ввод / редактирование категории данных Person, и каждая вкладка может быть сохранена независимо.Следует ли использовать одного докладчика для всех вкладок или одного докладчика для каждой вкладки?Также может быть главная вкладка, которая может переходить на другие вкладки (в зависимости от категории выбранных данных).

Ответы [ 2 ]

0 голосов
/ 25 января 2011

На мой взгляд, логично, что здесь происходит то, что вы работаете с данными одного человека.Для докладчика не имеет значения, использует ли пользовательский интерфейс, т.е. представление, вкладки, электронную таблицу или единый список элементов управления вводом.

Представление должно отвечать за переключение между вкладками, отправку данных от докладчика и размещение данных, представляемых докладчиком, в правильных местах.

Презентатор берет данные, которые отправляет представление, и выполняет все необходимые проверки и сохраняет их.Он также отвечает за обновление представления при получении новых данных.

Таким образом, если интерфейс вкладок не работает, его легко переключить с помощью нового пользовательского интерфейса, реализующего интерфейс представления.

Если важно обновить только одну вкладку, тогда докладчикможет быть дизайн с понятиями категорий.Как часть логики докладчика, он сообщает представлению обновить только одну категорию данных.

В единой форме ввода это будет проявляться только как один раздел обновления формы.На форме с вкладками, которую вы упомянули в исходном сообщении, это приведет к обновлению одной вкладки.

Важно соблюдать баланс между количеством классов и их функциональностью.Для немногих, и они делают со многими вещами, которые будет трудно отделить в будущем обслуживании.Слишком много, и это будет сбивать с толку, поскольку их отношения снова усложняют будущее обслуживание.

0 голосов
/ 20 января 2011

Я создаю одного докладчика на просмотр.Если каждая вкладка является отдельным представлением, то каждая вкладка будет иметь своего собственного докладчика.

...