gpt4 book ai didi

dependency-injection - MVP - 依赖注入(inject)和模型

转载 作者:行者123 更新时间:2023-12-04 08:21:36 24 4
gpt4 key购买 nike

给定一个 View 使用一个 Presenter,并且在 Presenter 中你有一个模型。

你如何将模型注入(inject)到演示者中?如果我要在 View 级别注入(inject)它,那么您将回到原点,业务逻辑在 View 中——也就是 View 不应该知道它的模型。

有什么建议吗?

最佳答案

您必须指的是被动 View 模式。在监督 Controller 模式中, View 确实与模型通信以进行同步。

对于被动 View ,您是正确的。您通常会在 Main 函数或可以从 Main 调用的配置类中执行此操作。由于没有指定语言,我用 C# 编写了示例。

static void Main(string[] args)
{
Model model = new Model();
View view = new View();
Presenter presenter = new Presenter(view, model);
}

public Presenter(IView view, IModel model)
{
this.View = view;
this.View.Presenter = this;
this.Model = model;
}

当然,这是一个严重的过度简化。在现实世界的应用程序中,演示者将依赖于抽象模型的域对象,您可能会使用 IoC 容器来处理配置。一些 IoC 容器甚至可以处理构造函数参数中的循环依赖关系,从而无需属性注入(inject)。

关于dependency-injection - MVP - 依赖注入(inject)和模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/931853/

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