我可以将 MVP 与 MVVM 一起使用吗

can I use MVP with MVVM

我得到了一个源代码,并试图通过文档来理解它。

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

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

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

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

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

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

  3. 视图: 处理 UI 部分。与用户互动。

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

ViewModel:

  1. 表示视图的状态
  2. 它保存在视图中显示的数据。
  3. 响应查看事件,也就是表示逻辑。
  4. 调用其他功能进行业务逻辑处理。
  5. 从不直接要求 view 显示任何内容。

现在让我们看看MVP(模型视图展示器):

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

现在你的问题:

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

我如何通过查看一些源代码来简单地知道它是使用 mvp、MVC 还是任何其他设计模式制作的?

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

你能告诉我......任何设计模式中的层是什么吗?我们将使用多少个最小层来制作任何设计模式的项目?拥有尽可能多的层有什么好处?
Ans:层数没有这么硬性规定。为了使您的代码可重用、可维护、开放扩展并遵循软件工程的最佳实践,遵循设计模式非常重要。

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

Ans:没有所谓的Java逻辑和Android逻辑。