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:
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