gpt4 book ai didi

java - 搜索通过接口(interface)进行类绑定(bind)的示例

转载 作者:行者123 更新时间:2023-11-30 08:08:05 26 4
gpt4 key购买 nike

我正在尝试用 Java 实现 MVP 模式示例但我不知道Presenter和View之间的接口(interface)连接是如何工作的!有人知道这方面的好例子吗?

更多详情:在某些来源中,类图看起来像这样 diagram

演示者和 View 之间的箭头被球中断。这是接口(interface)的标志吧?

Presenter 知道 View,View 也知道 Presenter,因此两者都需要相互引用。为了测试,我不想在构造函数中编写 new ..();

如果我通过构造函数设置 View- 和 Presentor- 引用,它看起来像
这个:

CentralView myView = new CentralView(myPresenter);
CenterPresenter myPresenter = new CenterPresenter(myView);

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

最佳答案

我发现这最简单:

 Model model = new Model();
View view = new View();
Presenter presenter = new Presenter(model, view);
view.setPresenter(presenter);

但是,如果您坚持“无 setter ”,那么您确实应该查找依赖注入(inject)。例如,使用 guice :

 // 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;
}

依赖注入(inject)既可以用来替换工厂,也可以用来解决循环依赖(guice 为此使用“代理”)。

关于java - 搜索通过接口(interface)进行类绑定(bind)的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30803869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com