最近几天我开始学习 MVP,发现这个有趣的教程。我一步一步地按照代码在我的应用程序中实现登录功能。但是,我仍然很难理解输入验证应该在哪里!LoginInteractorImpl在登录方法内的类内的教程中(一种方法中有两个功能!)。我的问题是,为什么我必须访问 Interactor 类来验证凭据?为什么不验证Presenter类中的输入,如果输入正确,我将其传递给交互器?
1627 次
2 回答
3
这presenter是您views和您之间的粘合剂,models它所做的就是在两者之间交换信息。它不应该做任何逻辑,只是它是指定的任务。阅读关注点分离。
如果您需要实现另一个登录屏幕并且您想使用与您的相同的逻辑会发生什么LoginInteractor?您必须向新的演示者添加验证逻辑。或者如果你改变你的验证技术怎么办?
更改逻辑不应影响演示者,反之亦然。演示者只关心传递信息。
于 2017-02-03T19:02:53.573 回答
1
输入验证可以在视图或演示者内部,但不是这个想法。想法是在交互器内部拥有所有“业务逻辑”,而活动则尽可能“笨拙”,而演示者是这两者之间的纽带。
于 2017-02-03T18:52:45.943 回答