MVP: Sollte die Ansicht die Benutzeroberfläche eines Presenters implementieren oder umgekehrt?

Ich mache meine ersten Schritte mitGWT. Ich habe eine Frage nach dem Lesen:

nwendungsentwicklung im großen Maßstab und Mnwendungsentwicklung im großen Maßstab und MVP - Teil

Im ersten Beispiel dasPresenter definiert die Schnittstelle für dasView.

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();
  }
}

Und im zweiten, demView definiert die Schnittstelle für dasPresenter.

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();
}

Was ist der Grund für diesen Unterschied?

Welches sollte ich wählen

Antworten auf die Frage(6)

Ihre Antwort auf die Frage