Я уже некоторое время использую шаблон MVP с ASP.NET. Я придерживаюсь определенной схемы вызова событий докладчика из представления.
Меня поразило, что я могу представить методы в презентаторе, которые представление может вызывать напрямую.
Технически, использование прямых методов требует меньшего количества кода. Другое преимущество заключается в том, что я склонен делить докладчиков по нескольким представлениям, которые предлагают аналогичную функциональность. Это означает, что иногда некоторые обработчики событий вынуждены регистрироваться в представлении, только для соответствия интерфейсу общего докладчика, но затем вообще не используются в этом конкретном представлении.
Примером этого может быть просмотр дневника, который в одном представлении позволяет вам отменить встречу, а в другом - нет. Остальные события докладчика для загрузки данных и сохранения встречи используются в обоих случаях. Я не хочу писать двух отдельных докладчиков, которые почти предлагают одинаковую функциональность.
Мне бы хотелось услышать, что думают другие, кто активно использует MVP. Есть ли причины, по которым вы можете подумать, почему прямые вызовы методов из представления в презентатор не годятся в MVP?