Добрый день, господа.
Поделитесь опытом, если кто использовал шаблон MVP (model-view-presenter) при написании web приложений.
Распишу подробнее, что именно меня интересует, чтобы было проще отвечать.
Пишу на C#, в WinForm приложениях пользую MVP. При этом View не знает к чему приведет вызов того или иного метода презентера. То есть View просто вызывает некоторые методы презентера, а презентер в неопределенный момент сообщает View, что необходимо обновить ту или иную часть отображения.
Если в двух словах, то класс презентера содержит только методы не возвращающие результатов (void DoSomething()) и события.
Так вот, попытался я к таким презентерам прикрутить веб приложение и натолкнулся на несовместимость идеологий. Веб приложение работает по системе запрос-ответ. То есть когда мне от клиента мне приходит некоторая команда, и логика на сервере вызывает метод void DoSomething() она должна знать, какие именно данные отправить клиенту в качестве ответа (и где эти данные взять, метод-то не возвращает результата). Логика же MVP, как было упмянуто выше, считает, что View ни о чем знать не должна, а должна только отображать то, что ей презентер, по собственной инициативе даст.
Первым что приходит на ум, периодическое обновление по таймеру. То есть вызвали метод DoSomething() и ничего клиенту не вернули, а клиет сам периодически запрашивает состояние с сервера (используется AJAX). Насколько такой подход имеет право на жизнь? Или это совсем ужас-ужас?
Либо переписывать презентеры, но тогда исчезает весь смысл, ведь они уже готовы, оттестированы осталось только вместо WinForms на них веб View натянуть.
Я с вебом, признаться, знаком мало, только с веб-сервисами работал. Как решаются такие проблемы, расскажите пожалуйста. Или дайте чего-нибудь конкретного Кпочитать.
спасибо
Ed.ward
P.S. если чего не понятно написал, уточняйте пожалуйста, я постараюсь объяснить чего-же мне хочется