MVP: Представление должно реализовать интерфейс Предъявителя или наоборот?

Я делаю свои первые шаги с GWT. У меня есть вопрос после чтения:

В первом примере Presenter определяет интерфейс для View.

public class ContactsPresenter implements Presenter {
  ...
  public interface Display extends HasValue> {
    HasClickHandlers getAddButton();
    HasClickHandlers getDeleteButton();
    HasClickHandlers getList();
    void setData(List data);
    int getClickedRow(ClickEvent event);
    List getSelectedRows();
    Widget asWidget();
  }
}

И во втором, View определяет интерфейс для Presenter.

public interface ContactsView {

  public interface Presenter {
    void onAddButtonClicked();
    void onDeleteButtonClicked();
    void onItemClicked(T clickedItem);
    void onItemSelected(T selectedItem);
  }

  void setPresenter(Presenter presenter);
  void setColumnDefinitions(List> columnDefinitions);
  void setRowData(List rowData);
  Widget asWidget();
}

Какова идея этого различия?

Который я должен выбрать?

15
задан Macarse 22 July 2010 в 12:56
поделиться

2 ответа

Я думаю, вам следовало использовать слово «определяет» в своем вопросе вместо «реализует», и если это так, то не имеет значения, какой класс определяет интерфейс.

Вы можете сделать что-то другое, определив интерфейсы в его собственных файлах. В конце концов, все, что имеет значение, - это Presenter, реализующий интерфейс Presenter, и View, реализующий интерфейс View.

2
ответ дан 1 December 2019 в 05:22
поделиться

Во втором учебном курсе код был изменен на использование интерфейса Presenter (определенного в представлении), чтобы приспособиться к использованию универсальных шаблонов UiBinders и Java. Я думаю, что интерфейс Presenter был перемещен в интерфейс просмотра, поскольку они оба используют один и тот же общий T.

0
ответ дан 1 December 2019 в 05:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: