Java 通过接口搜索类绑定的示例

Java 通过接口搜索类绑定的示例,java,interface,mvp,Java,Interface,Mvp,我正在尝试用Java实现一个MVP模式示例 但是我不知道演示者和视图之间的接口连接是如何工作的!有人知道这方面的好例子吗 更多详情: 在某些源代码中,类图如下所示 演示者和视图之间的箭头被球打断。这是界面的符号,对吗 演示者知道视图,视图也知道演示者,因此两者都需要相互引用。对于测试,我不想编写new..() 如果我按构造函数设置视图和Presentor引用,它看起来像 这: 我希望能举一个例子来说明这是如何工作的,构造函数中没有“new”,可以测试,没有getter和setter。我觉得这是最

我正在尝试用Java实现一个MVP模式示例 但是我不知道演示者和视图之间的接口连接是如何工作的!有人知道这方面的好例子吗

更多详情: 在某些源代码中,类图如下所示

演示者和视图之间的箭头被球打断。这是界面的符号,对吗

演示者知道视图,视图也知道演示者,因此两者都需要相互引用。对于测试,我不想编写
new..()

如果我按构造函数设置视图和Presentor引用,它看起来像
这:

我希望能举一个例子来说明这是如何工作的,构造函数中没有“new”,可以测试,没有getter和setter。

我觉得这是最简单的:

 Model model = new Model();
 View view = new View();
 Presenter presenter = new Presenter(model, view);
 view.setPresenter(presenter);
然而,如果您坚持“不使用setter”,那么您应该真正了解依赖注入。例如,使用:


依赖项注入既可以用来替换工厂,也可以用来解决循环依赖项(guice使用“代理”来解决这一问题)。

对于我的问题,我在这里创建了一个示例: 它使用setter和getter,但解释了它如何与接口一起工作

再见:-)

 Model model = new Model();
 View view = new View();
 Presenter presenter = new Presenter(model, view);
 view.setPresenter(presenter);
 // can resolve dependencies by itself
 Presenter presenter = new Presenter();

 // Dependency injection hard at work within your constructor
 @Inject
 Presenter(Model model, View view) {
      this.model = model;
      this.view = view;
 }