ich ein paar Aktivitäten, während jeder von ihnen ziemlich einzigartig ist, hat es einige gemeinsame API-Aufrufe wie GetCurrentUser() oder Updateuser()MVP-Muster android dupicated Methoden in Moderatoren
das MVP-Muster gegeben werden (I verwende derzeit MVP mosby), da jede dieser Aktivitäten nur einen einzigen Moderator hat. Während ich mich entwickle, scheint es, dass ich manchmal viele dieser allgemeinen API-Aufrufe über diese Moderatoren kopiere. Sagen I API-Aufruf A, B, C, D.
A, C verwendet werden in Präsentator 1,
B, D, A werden verwendet in Präsentator 2,
C, E werden verwendet, haben in presenter 3 .....
und so weiter. Es ist wirklich schwierig, einen "gewöhnlichen" Moderator zu finden, von dem er erbt. Also die Api-Aufrufe, C und A sind grundsätzlich kopiert eingefügt.
Meine Frage ist, angesichts der aktuellen Situation, was ist der beste Weg, um Code Copy-Pasting zu vermeiden? Ist es fast nicht vermeidbar? Oder sollte ich mein Bestes geben, um OOP zu machen, aber jedes Mal, wenn API-Aufrufe von verschiedenen Präsentatoren hinzugefügt/entfernt werden, eine Menge Refactoring zu riskieren?
Sie API-Aufrufe sind im Presenter? Haben Sie darüber nachgedacht, die API-Aufrufe in die Interactors zu stellen? Sie sollten dafür verantwortlich sein, Daten von Ihrer API oder der internen Datenbank abzurufen. Es ist besser, diesen Code auf der Modellschicht zu haben. Wie auch immer, wie konsumieren Sie Ihre API? Sie können Retrofit verwenden, es macht den Code für einen Rest-Client sehr sauber. –
Sie können dieses Beispielprojekt http://github.com/mmirhoseini/marvel ansehen und diesen Artikel https://hackernoon.com/yet-another-mvp-article-part-lets-get-to-to- know-the-project-d3fd553b3e21, um sich mit MVP vertraut zu machen. –