如果你想在没有任何框架的情况下实现MVP应用程序,谁将处理视图之间的导航?
现在,我有这个导航器接口/类,演示者可以参考它的实现。要从登录导航到主页,我使用LoginNavigator和方法navigate()。
此方法在其中一个演示者方法中调用。但是,下一个视图(主视图)需要显示数据,并且数据将传递到服务类中的视图。
所以:navigation = presenter,数据传递=来自服务类
我有一个单独的导航器事情的原因是因为我不想将特定于Swing的代码(切换面板)放入演示者。
关于如何在不使用某些框架时很好地实现这一点的任何建议?
答案 0 :(得分:1)
最好的想法是View应该对导航操作负责,并且演示者会触发它。但是你甚至可以在不太干净的情况下进行操作和触发。
导航界面是个好主意,因为在mvp中,概念说视图越愚蠢,MVP实现就越好。
导航方法最好分别在每个视图合约中。例如,如果您有一个注册页面,只需一个名为gotToVerifyView()
的方法即可处理导航。对于每个视图,你应该有一些像这样的方法来获得导演到演示者的句柄。这样,演示者就如何指定路线图。
我不知道您从服务接收数据的情况有什么问题。解释更多,以便我可以更好地编辑我的答案。