MVP: Должен ли View реализовывать интерфейс докладчика или наоборот?

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

Крупномасштабная разработка приложений и MVPКрупномасштабная разработка приложений и MVP - Часть II

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

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

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

public interface ContactsView<T> {

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

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

В чем идея этой разницы?

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

Ответы на вопрос(3)

Ваш ответ на вопрос