2012-01-28 1 views
2

Название может быть нелегким для понимания, но мне кажется, что это основной вопрос дизайна при работе со смарт-моделями.Выбор реализации контроллера представления моей модели неанемического домена

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

Если это фабрика, которая принимает в качестве ввода тип моей модели и возвращает мой контроллер вида ? Должна ли моя модель знать, как построить контроллер (кажется, грязный nè?)? Должен ли я использовать композицию? Что-то другое ?

Надеюсь, я достаточно ясен. Я немного борюсь с этим!

ответ

0

Ваш вопрос слишком абстрактный, чтобы дать конкретный совет. Шаблон MVC появляется во многих формах и во многих технологиях. Для веб-страницы она будет иметь одну форму, для WPF-приложения у нее будет другая. В общем, есть как «первый вид», так и «первый контроллер». Вы можете начать с любого из них и посмотреть, подходит ли оно для вашей проблемы, если нет - рефакторинг.

Еще одна область, которую вы можете исследовать, - это область современных композитных прикладных фреймворков, которые предоставляют готовые модульные решения MVC \ MVVM. Если вы пишете в Интернете, читайте о ASP.NET MVC и его лучших практиках. Если вы пишете для WPF, прочитайте о методе MVVM и посмотрите, например, на Prism. Вы можете обнаружить, что ваша проблема уже решена существующими инструментами.

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