我可以将MVP与MVVM一起使用

时间:2017-09-08 05:05:04

标签: wpf design-patterns model-view-controller mvvm mvp

我有一个源代码,并试图使用文档来理解它。

在文档中,它说代码组合使用了MVP和MVVM来制作项目。

有人可以回答我的以下问题: -

  1. 在单个项目中使用两个设计模式(MVP和MVVM)有什么意义?
  2. 如果使用mvp,MVC或任何其他设计模式制作源代码,我怎么能简单地知道呢?
  3. 你能告诉我......任何设计模式中的层是什么?我们将在任何设计模式中使用多少最小层来制作项目?尽可能多的层有什么好处?
  4. java逻辑和android逻辑有什么区别?因为我们通过使用任何设计模式简单地将java与Android逻辑分开以获得更好的测试环境。举个例子。

1 个答案:

答案 0 :(得分:1)

如果代码使用MVC,您将看到以下内容:

  1. 模型:模型包含数据信息。不调用或使用Controller和View。包含业务逻辑和表示数据的方式。某些形式的某些数据可能会显示在视图中。它还可以包含从某些源检索数据的逻辑。

  2. 控制器:充当视图和模型之间的连接。查看调用Controller和Controller调用模型。它基本上会通知模型和/或视图以进行适当的更改。

  3. 查看:与UI部分交易。与用户互动。

  4. 对于 MVVM(模型视图视图模型):

    <强>视图模型:

    1. 它是视图状态的表示。
    2. 它包含在视图中显示的数据。
    3. 响应视图事件,即演示逻辑。
    4. 调用业务逻辑处理的其他功能。
    5. 从不直接要求view显示任何内容。
    6. 现在让我们看看 MVP(模型视图演示者):

      与传统MVC类似,但ControllerPresenter取代。但PresenterController不同,也负责更改视图。 视图通常不会调用演示者。

      现在你的问题:

      在单个项目中使用两种设计模式(MVP和MVVM)有什么意义?
      答:可能是需要。他们两个都非常密切相关,正如我所说,将两者混合起来解决特定类型的问题可能是有用的。

      如果使用mvp,MVC或任何其他设计模式制作源代码,我怎么能简单地知道呢?

      Ans:阅读我提供的解释。尝试查看哪个模式与代码紧密匹配。可能使用多种设计模式。

      你能告诉我......任何设计模式中的层是什么?我们将在任何设计模式中使用多少最小层来制作项目?拥有尽可能多的图层有什么好处?
      答:层数上没有这么严格的规则。为了使您的代码可重用,可维护,开放以进行扩展并遵循软件工程的最佳实践,您必须遵循设计模式。

      java逻辑和android逻辑有什么区别?因为我们只是将java与android逻辑分开,以便通过使用任何设计模式来获得更好的测试环境。举个例子。

      Ans:没有一种称为Java逻辑和Android逻辑的东西。