Под базовым презентером я и подразумеваю этот MvpPresenter, просто я предложил методы attachView перенести в интерфейс (назовем IMvpPresenter) , а этот MvpPresenter уже реализует их правильно, так как Moxy решает верным. Теперь в интерфейсе IMainPresenter я наследуюсь от уже реализованного в IMvpPresenter. Далее мой презентер(MainPresenter) наследует MvpPresenter и реализует IMainPresenter. Тут идем как бы наложение, не знаю как правильно в терминалогии это выразить, т.е. IMainPresenter имеет методы attachVIew, но повторно их реализовывать не нужно, потому что в MvpPresenter это уже сделано. И получается , что не нужно в каждом наследнике реализовывать attachVIew заново, просто наследуем свой интерфейс от интерфейса MvpPresenter. Ну и напоследок, даже если мы не будем подменять реализацию презентера, зачем лишать себя этой возможности, если сделать это очень просто? Тем более MVP предполагает такую возможность подменять презентеры. Снова скажете нафиг надо, но я скажу, а почему бы не оставить такую возможность для себя, если ничем не жертвуем ради этого. Если сложно из моей писанины понять, о чем я , то посмотрите пожалуйста в моем проекте на примере активности MainMenu.
https://github.com/Turalllb/fixer.io_withRetrofit2AndDagger2/tree/master/ExchangeRates/app/src/main/java/mobiledimension/exchangerates