2011-01-19 2 views
3

Я заметил, что в реализации Webforms MVP и большинстве других примеров Presenter обычно прикрепляет обработчики для просмотра событий. Почему представления не могут непосредственно вызвать методы в презентаторе? Просто интересно, поскольку вся задача привязки обработчика к событию, определяющая EventArg для специальных параметров, проверяя, является ли событие нулевым на стороне представления, кажется намного более утомительным, чем просто вызов метода.Почему презентаторы присоединяются к просмотру событий вместо представления вызовов методов-презентатора в большинстве реализаций ASP.NET MVP?

ответ

2

Конечно, они могут, и я считаю, что это лучшая средняя земля. То, что вы описываете, я называю «Наблюдение за презентатором». Это позволяет полностью отключить просмотр из Presenter, делая представление менее восприимчивым к изменениям в презентаторе. Но это также вводит сложность в тестировании, и именно поэтому для начала используется MVP. Я вообще не стал бы заниматься этим стилем. В очень большом проекте мы используем стиль Encapsulated Presenter, где View имеет ссылку на Presenter, вводится через контейнер IoC и просматривает только методы вызовов в Presenter. Легко понять, легко отлаживать, легко тестировать.

+0

Не могли бы вы ответить на http://stackoverflow.com/questions/8851933/event-bubbling-and-mvp-asp-net? – Lijo

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