Mac*_*rse 15 java mvp gwt gwt-mvp
我正在迈出第一步GWT.我看完之后有一个问题:
在第一个示例中,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();
}
}
Run Code Online (Sandbox Code Playgroud)
在第二个中,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();
}
Run Code Online (Sandbox Code Playgroud)
这种差异的想法是什么?
我该选哪个?
小智 2
我认为您应该在问题中使用“定义”一词而不是“实现”,如果是这种情况,那么哪个类定义接口并不重要。
您可以通过在自己的文件中定义接口来执行不同的操作。归根结底,最重要的是实现 Presenter 接口的 Presenter 和实现 View 接口的 View。