3

我很好奇使用 MVP 模式来提高可测试性。我有使用 MVC 的经验,但 MVP 似乎不同。

我有一个在“项目”文件上运行的应用程序,该文件实际上是几个文件和文件夹的压缩存档。这个项目应该是我的模型。

我将把加载模型的代码放在哪里?我也在考虑另一个抽象层:某种 BackEndConnection。它将能够读取项目文件。它可以是 FileBackEndConnection 或 FTPConnection 或其他任何东西(这应该是可能的)。

这属于 Presenter 吗?

View ---- Presenter ---- Project (Model)
              |
              |
       BackEndConnection

初始化是这样的:

Presenter presenter = new Presenter(BackEndConnection e);

将触发演示者呼叫

Project project = backEndConnection.getProject();

它将能够初始化模型。

this.model=project;

接着

View v = new View(presenter);

不知何故,这听起来是错误的。我更喜欢模型中的 BackEndConnection:

Project --- BackEndconnection

在这种情况下,Presenter 将简单地将模型与 BackEnd 结合起来,然后模型完成它的业务。

当然这意味着模型必须提供 model.persist() 和 model.loadFrom(BackEndConnection) 等等。这个对吗?我找不到太多关于处理 MVP 模型加载的资源。

4

0 回答 0