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