Design patterns 为什么有两种实现界面的方法(视图和演示者)使用GWT-MVP教程?

Design patterns 为什么有两种实现界面的方法(视图和演示者)使用GWT-MVP教程?,design-patterns,gwt,gwt-mvp,Design Patterns,Gwt,Gwt Mvp,我的问题基于GWT教程 这里我们有两对视图和演示者 在EditContactPresenter中,我们在presenter类中定义视图接口 EditContactPresenter implements Presenter{ public interface Display { HasClickHandlers getSaveButton(); .... } } 对于Contact Presenter,我们在View类中定义Presenter接口 public i

我的问题基于GWT教程

这里我们有两对视图和演示者

在EditContactPresenter中,我们在presenter类中定义视图接口

EditContactPresenter implements Presenter{  
  public interface Display {
    HasClickHandlers getSaveButton();
    ....
  }
}
对于Contact Presenter,我们在View类中定义Presenter接口

public interface ContactsView<T> {
  public interface Presenter<T> {
    void onAddButtonClicked();
    .....
  }
}
公共接口联系人视图{
公共界面演示者{
void onAddButtonClicked();
.....
}
}
为什么会这样?本教程试图通过此…传达什么

我计划将presenter界面保留在单独的类中(不在视图中),因为我可能最终会为同一个presenter(移动/web)创建多个视图,并且将其保留在一个视图中可能无法维护


第二,我计划在演示格式或模板的基础上标准化演示者界面,比如一个显示列表的界面,另一个具有某种形式的演示。。。。因此,我不会将演示者界面按模型类进行分组……任何建议都是风格问题。GWT是开源的,所以这可能是由两个人编辑的。此外,他们可能试图表明,无论哪种方式都是好的

可能重复感谢回复,同意这是重复的,但那篇文章中给出的答案是不够的,到目前为止,我已经在单独的文件中定义了接口,视图和演示者可以通过依赖项注入相互访问Roberts link的答案在大多数情况下都是足够的,尽管您使用的是依赖项注入,但接口的定义位置确实很重要。只有作者才能真正回答他们为什么选择在那里定义它。对于您的情况,我认为您将显示界面移动到自己的文件中是正确的。这应该是一个注释。