Разработка приложения на основе RCP с использованием шаблона MVP - PullRequest
1 голос
/ 23 ноября 2011

Я собираюсь начать разработку приложения CRUD RCP среднего размера и намереваюсь использовать шаблон MVP (презентатор представления модели).

Я понимаю, что основное различие между MVP и MVC заключается в том, что докладчик обновляет представление, а контроллер - нет.

Что я действительно не понимаю, так это то, у кого есть ссылка на что в этом паттерне В одном уроке я прочитал, что у представления есть переменная экземпляра презентатора (см .: http://www.logicdevelopment.net/blog/?p=16).. Но у докладчика также должна быть ссылка на представление. Не так ли? Все ли это правильно?

Может ли кто-нибудь предоставить объяснения того, как типичное приложение MVP структурировано с точки зрения того, кому принадлежат ссылки на что?

код добавлен из вида:

button.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                // can we reference the presenter here? how?
            }
        });

Используя информацию из приведенной ниже ссылки, я пришел к диаграмме ниже. Обратите внимание, что представление имеет ссылку на докладчика и наоборот (см. Первый вариант здесь ):

passive view diagram

1 Ответ

2 голосов
/ 24 ноября 2011

На самом деле, есть два разных вкуса MVP. Паттерн MVP был описан Фаулером в 2004 году, и он удалил его в 2006 , разбив паттерн на контролирующий контроллер (sc) и Passive View (pv). В sc вид привязан к модели, а в pv нет, в pv вид изменяется только непосредственно ведущим.

Мой ответ на Создает ли Presenter в Model-View-Presenter представления? содержит некоторые дополнительные сведения.

...