MVP模式是MVC的一个演化版本,全称是Model view Presenter。
MVP能够有效的降低View的复杂性,避免业务逻辑被塞进View中,使得View变成一个混乱的“大泥坑”。
MVP模式会解除View与Model的耦合,同时又带来了良好的可扩展性,可测试性,保证了系统的整洁性,
灵活性。MVP的结构图为:
MVP的优点:
(1)降低耦合度
(2)模块职责划分明显
(3)利于测试驱动开发
(4)代码复用
(5)隐藏数据
(6)代码灵活性
MVP的缺点:
由于对视图的渲染放在了Presenter中,所以视图和Presenter的交互会过于频繁。如果Presenter过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密。一旦视图需要变更,那么Presenter也需要变更了。