我一直在尝试使用MVP
和dagger
创建一个简单的记事本应用(我的第一个应用)。
我已经理解了大部分内容,但如果我有多种行为,我会有点失落。我会解释一下。
我的项目层次结构如下:
Click here
在解释了所有这些之后你应该(可能)理解项目是如何工作的(随意批评层次结构)。
现在我想添加一个创建笔记的按钮。我只需在mainactivity
上添加监听器并将其重定向到Presenter ......
但是,演示者是否会处理代码以添加新笔记(开始新的意图等),或者我应该创建一个独立处理这些东西的新类?
如果我想在将来添加更多按钮,例如remove-all-notes或启动帮助对话框,我是否应该为每个按钮创建一个将处理代码的类?
我怎么组织这样的东西?
答案 0 :(得分:0)
MVP模式中没有正式解决导航问题。好吧,我认为有两个好方法:
1 - 您可以创建一个导航器/路由器来为您处理导航。因此,演示者将所有这些逻辑都解释为导航器或......
2 - 您可以在活动中处理屏幕更改。我真的相信屏幕更改是View的责任,所以你只需要将导航命令传递给View。像:
interface MainView{
void navigateToAddCardScreen()
void navigateToLoginScreen()
void navigateSomeScreen()
}
我更喜欢第二种选择。导航器使代码对我来说太过细化......
我希望我能帮忙