2009-03-03 11 views
-1

Итак, я создаю приложение C#/Winforms в шаблоне контроллера модели. Мой диспетчер представлений должен создавать несколько групп объектов. Объектные группы являются элементами модели и элементами представления. Так, например, текстовое поле и модель, чтобы пойти за этим текстовым полем.Контроллер представления модели C#

Мне интересно, лучший способ сделать это - положить все в какую-то коллекцию и связать их вместе с ключом?

ответ

0

Считаете ли вы использование WPF вместо WinForms? Он имеет более приятную модель MVC и встроенную привязку данных, которая намного мощнее. Это, вероятно, решит вашу проблему и поможет вам построить более современные технологии.

+0

Я бы хотел, но на данный момент я застрял в Studio 2005 и WinForms. Я предполагаю, что вопрос - довольно общий MVC, но я хотел бы знать лучшую практику C#. – 2009-03-03 18:50:51

3

В приложениях WinForm MVC, которые я построил, я обычно не позволяю контроллеру создавать какие-либо экземпляры (я пытаюсь сохранить «новое» ключевое слово из своих контроллеров).

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

Способ, которым мне нравится думать об этой проблеме, заключается в следующем: как бы я мог сделать эту работу (и сделать ее многоразовой), если у меня не было графического интерфейса для представления, но вместо этого был введен в командной строке для моего взгляда? Логика создания/добавления/удаления/обновления модели должна быть где-то в вашем домене, а не в контроллере. Тогда контроллер просто становится посредником между моделью и представлением. Представление становится механизмом ввода-вывода, который является лишь более красивой версией интерфейса командной строки.

Надеюсь, что имеет смысл.

0

Возможно, вам стоит создать свою модель в соответствии с тем, что нужно мнению? Тогда для контроллера будет только одна модель.

Смежные вопросы