Могу ли я поделиться контроллером ASP.Net MVC с приложением WinForms и как?

Я разрабатываю веб-приложение с использованием MVC.

Много усилий уходит на разработку модели и контроллера.

Я знаю, что могу повторно использовать модальное окно в winforms.

Но могу ли я повторно использовать контроллер в winforms


person Sachin Chavan    schedule 19.09.2009    source источник


Ответы (1)


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

Самая большая проблема заключается в том, что функции ASP.NET MVC, которые делают контроллеры полезными, реализованы в среде вокруг контроллеров. Эти функции обеспечивают поток информации между представлениями, фильтрами и контроллерами (и это лишь некоторые из них) и не передаются явным образом между различными компонентами. Чтобы воспользоваться всеми этими функциями, вам нужно будет адаптировать инфраструктуру MVC или написать свою собственную для обработки таких вещей, как ViewData и привязка и... нет, просто нет. Может быть, если бы ваши контроллеры были достаточно простыми... о чем я говорю? Просто не делай этого.

Лучшим решением было бы реорганизовать логику, которая будет повторно использоваться, в бизнес-уровень или другую общую сборку и включить ее в оба ваших проекта. Если ваши контроллеры написаны хорошо, в них изначально не так много кода, поэтому вы не сэкономите много, повторно используя их. Я узнал об этом из этой книги и, следуя ее советам по нескольким проектам, согласился с Это. Основная причина заключается в том, что ваши контроллеры должны использоваться для управления потоком приложения и данными между пользовательским интерфейсом и остальной частью вашего приложения. Они не должны содержать сложную бизнес-логику.

В любом случае, это мои 2 цента на эту тему.

person Chuck    schedule 19.09.2009
comment
+1. За хорошее объяснение. Как вы правильно сказали, у контроллера очень мало кода. Но дело в том, что я все еще хочу его использовать. - person Sachin Chavan; 20.09.2009