在MVP中,视图为小部件的接口提供了getter方法--比如hasClickHandler和aso。-以便演示者可以访问这些ClickHandlers,以便添加侦听器和设置值。
这使得视图变得非常愚蠢。
如果你想测试一个mvp presenter,你必须模拟视图,你必须为按钮创建模拟,以便模拟点击按钮。
另一方面,在MVP2中,视图知道展示者,展示者提供像onButtonClick和视图添加ui处理程序这样的方法。这使得视图能够识别演示者,但我认为这更容易测试。
那么MVP和MVP2的优缺点是什么呢?
为了创建好的视图模拟,真的有可能为每个小部件编写模拟吗?
与MVC相比,MVP的一个好处是,您知道Presenter、View和Model中包含了什么。我不太确定MVP2是否会像最有价值球员一样清楚地说明这一点。
你的经验是什么?
发布于 2012-02-28 08:34:26
我使用了这两种方法,我认为使用MVP2模式有两个优点(通过presenter接口在presenter中查看调用方法):
HasXXXHandler方法创建这么多内部(匿名)回调函数。HasXXXHandler接口创建模拟,并且使用BDD时,您只需测试presenter的接口函数是否被调用。另外,MVP只是一个模式,就像任何其他设计模式一样,它只是一个指导原则。没有必要为了坚持最纯粹的实现而让你的生活变得更加困难。
https://stackoverflow.com/questions/9466700
复制相似问题