我已经阅读了三天的有关Model-View-Controller(MVC)和Model-View-Presenter(MVP)模式的信息。有一个问题令我非常困扰。当已经有MVC时,为什么软件设计者会发明MVP?
他们遇到了什么问题,MVC无法解决(或解决得很差),但是MVP可以解决?MVP打算解决哪些问题?
我已经阅读了很多有关MVP的历史和解释,或者关于MVC和MVP之间差异的文章,但是没有一个对我的问题有明确的答案。
在我读过的一篇文章中,有人说:
现在进入Model View Presenter,这是对MVC模式应用于现代基于组件的图形用户界面时的不足之处的回应。在现代GUI系统中,GUI组件本身而不是某些中央控制器来处理诸如鼠标移动和点击之类的用户输入。
因此,我听不懂,但实际上可以以另一种方式使用,例如GUI组件不能自行处理用户输入吗?“单独处理”到底是什么意思?