2017-02-03 124 views
2

我在最近几天开始学习MVP,我发现这个有趣的tutorial。我一步步跟着代码在我的应用中实现登录功能。但是,我仍然难以理解输入验证应该在哪里!在登录方法内的LoginInteractorImpl类中的教程(一种方法中有2个功能!)。我的问题是,为什么我必须联系Interactor类来验证凭据?为什么不验证Presenter类中的输入,如果输入正确,我将它传递给Interactor?Android MVP:登录凭证验证

回答

2

presenter是您的views和您的models之间的胶水,它所做的只是交换两者之间的信息。它不应该做任何一种逻辑,只有它是指定的任务。阅读关于Seperation of Concerns

如果您需要实现另一个登录屏幕,并且想要使用LoginInteractor中的相同逻辑,会发生什么情况?您必须为新的演示者添加验证逻辑。或者如果你改变你的验证技术呢?

更改逻辑不应该影响演示者,反之亦然。主讲人只关心传递信息。

+0

谢谢!这完全是关于可重用性的。 –

1

输入验证可能在视图或演示者内部,但不是主意。这个想法是让所有的“商业逻辑”在交互者内部,而活动是尽可能的“笨拙”,并且主持人是这两者之间的联系。