我很好奇使用MVP模式来提高可测试性。我有MVC的经验,但MVP似乎有所不同。
我有一个应用程序在“项目”文件上运行,该文件实际上是一个包含多个文件和文件夹的压缩存档。这个项目应该是我的模型。
我将把加载模型的代码放在哪里?我也在考虑另一个抽象层:某种BackEndConnection。它将能够读取项目文件。它可以是FileBackEndConnection或FTPConnection等等(这应该是可能的)。
这属于演示者吗?
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的模型加载,我找不到太多的资源。