我正在开发一个由 3 个主要部分组成的 Android 测试项目,每个部分都按照MVP 模式开发。这些部分相互嵌套,我想知道我遵循的策略是否正确/最好
结构:
- Book:包含不同页面的 ViewPager
- 页面:包含多个项目的自定义线性布局
- 项目:自定义视图(在这个例子中是一个简单的按钮)
每个部分都使用 MVP 结构(例如,对于 Book,我制作了 BookPresenter、BookView 和 BookModel,Page 和 Item 也是如此)
作为一个用户案例,我想跟踪用户点击按钮的次数,每次将页面背景更改为随机颜色,当用户点击第 10 次时,告诉 BookPresenter 转到第二页。
为此,我设置了一些东西
- BookView 创建 BookPresenter,而 BookPresenter 又创建每个 PageView。
- 每个 PageView 创建 PagePresenter 依次创建 ItemView(最终创建 ItemPresenter)
在这一切中,BookPresenter 引用了 PagePresenter,PagePresenter 引用了 ItemPresenter,因此当需要执行某些操作时,它们可以与结构中的子 Presenter 或父 Presenter 进行通信
现在的问题是: 这是建立具有嵌套 MVP 的系统的正确方法吗?因为如果我想拥有一个 PageView 但不是在 Book 中,我需要将它放在 Newspaper 中(其他类与 Book 有一些替代行为)我仍然需要重新创建与 Presenters 和所有其余部分的整个依赖链...