小编典典

MVP:View应该实现Presenter的界面,反之亦然吗?

java

我正在与做我的第一步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();
  }
}

在第二个中,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();
}

这种差异的主意是什么?

我应该选择哪一个?


阅读 205

收藏
2020-10-20

共1个答案

小编典典

我认为您应该在问题中使用“定义”一词,而不是“实现”,如果是这种情况,那么 哪个类定义接口都没有关系。

您可以通过在其自己的文件中定义接口来做一些不同的事情。最终,重要的是演示者实现了Presenter接口,而视图实现了View接口。

2020-10-20