Нубский вопрос по MVP, на который не нашел ответа: почему в MVP presenter меняет view через view interface? Насколько я понимаю, IView - это отдельная сущность, описывающая какие свойства может принимать view и каким образом этот view менять. Но почему эти свойства и методы не зашиваются в самом view, чтобы presenter мог напрямую изменять view дергая его методы?
Подозреваю что с той-же целью, с которой впринципе создают интерфейсы. Что-бы завязать работу presenter на абстракцию, а не на конкретную реализацию, и при необходимочти заменить класс View на MySuperAdvancedView.