我正在学习如何使用MVP,我想确保我“做得对”。
我有一个关联的演示者的主视图。该主视图由几个子组件组成,其中至少一个子组件可以互换。所以我将这些子组件转换为他们自己的视图/演示者对。
我目前的项目设置方式是主视图/演示者启动项目。当主要演示者被实例化时,它会调用工厂函数来创建其他视图/演示者对。然后,演示者将对每个其他视图的引用传递到主视图,然后将其添加到主视图中。
这种方式对我来说似乎更有意义,但我想确保自己走在正确的轨道上。
答案 0 :(得分:1)
通常情况下,Presenter
是一个独立的类,而不是View
,因此它们是模块化的,Presenter
可以单独进行单元测试(尽管我很少觉得需要在实践中)。
要构建一个窗口,我使用的WindowPresenter
包含WindowView
Views
Views
与Presenters
和Models
相关联(如果有的话)通常,我只是将Model
和View
传递给Presenter
的构造函数,尽管我听过其他人使用依赖注入框架。
总之,听起来你做得对,除非Presenter
和View
通常是单独的类。有很多方法可以将MVP三元组连接在一起,通常我认为这是从顶级Presenter
类完成的,但做任何最有意义的事情。