2017-02-03 120 views
2

我在最近幾天開始學習MVP,我發現這個有趣的tutorial。我一步步跟着代碼在我的應用中實現登錄功能。但是,我仍然難以理解輸入驗證應該在哪裏!在登錄方法內的LoginInteractorImpl類中的教程(一種方法中有2個功能!)。我的問題是,爲什麼我必須聯繫Interactor類來驗證憑據?爲什麼不驗證Presenter類中的輸入,如果輸入正確,我將它傳遞給Interactor?Android MVP:登錄憑證驗證

回答

2

presenter是您的views和您的models之間的膠水,它所做的只是交換兩者之間的信息。它不應該做任何一種邏輯,只有它是指定的任務。閱讀關於Seperation of Concerns

如果您需要實現另一個登錄屏幕,並且想要使用LoginInteractor中的相同邏輯,會發生什麼情況?您必須爲新的演示者添加驗證邏輯。或者如果你改變你的驗證技術呢?

更改邏輯不應該影響演示者,反之亦然。主講人只關心傳遞信息。

+0

謝謝!這完全是關於可重用性的。 –

1

輸入驗證可能在視圖或演示者內部,但不是主意。這個想法是讓所有的「商業邏輯」在交互者內部,而活動是儘可能的「笨拙」,並且主持人是這兩者之間的聯繫。