Как-то совершенно незаметно привычная модель MVC в моих проектах мутировала к MVP (Model View Presenter). Возможно тому способствовали прочтения
Мартина Фаулера и использование разных фреймворков вроде
SwiftSuspenders или
Parsley.
Далее в тексте буду стараться использовать именно английские названия Model, View, Controller, Presenter, чтобы избежать ненужных коннотаций с их русскими аналогами.
MVC vs MVP
Не взирая на все плюсы MVC, у него есть и большие проблемы. Одна из них:
читабельность кода и отладка — дело в том, что настраивать систему, построенную на событиях (Observer Synchronization), задача достаточно не тривиальная и без trace и breakpoint часто сложно реализуемая.