【发布时间】:2012-02-27 14:30:46
【问题描述】:
在 MVP 中,View 为小部件的接口提供 getter 方法 - 例如 hasClickHandler aso。 - 以便演示者可以访问这些 ClickHandler 以添加侦听器和设置值。
这使得视图非常愚蠢。
如果你想测试一个 mvp 演示者,你必须模拟视图并且你必须为按钮创建模拟以模拟对按钮的点击。
另一方面,在 MVP2 中,视图知道演示者,并且演示者提供像 onButtonClick 这样的方法,视图添加了那个 ui 处理程序。这使视图知道演示者,但我认为这更容易测试。
那么 MVP 和 MVP2 的优缺点是什么?
真的可以为每个小部件编写模拟以创建好的视图模拟吗?
MVP 相对于 MVC 的一个好处是,您知道 Presenter、View 和 Model 中的内容。我不太确定 MVP2 是否能像 MVP 一样清楚地说明这一点。
你的经验是什么?
【问题讨论】:
-
我保留这个问题是为了鼓励其他答案。