近段时间,经常听到MVP模式,作为小菜比,只能兴叹,特么的我以前怎么没看到,好了,正题正题。
MVP,Modle-View-Presenter,其各个模块的交互为:
MVP是由MVC模式演变过来的,基本思想都是一个模块负责显示(View),一个模块负责数据的供给(Model),还有一个负责业务逻辑(Presenter\Controller).但是它们是有区别的:
从上图中我们可以看出:在MVC模式中,各个模块之间都有直接交互,这就导致耦合过多,修改某些业务逻辑时非常困难,并且在编写某些单元测试时难以入手。而在MVP中,Presenter作为桥梁,把View和Model联系起来,但View和Model没有直接的交互,因此,其可以集中业务逻辑,不必分散在多个部分,并且耦合性更低。
在MVP模式中,View中应该只有简单的Set/Get方法,用户输入和设置界面显示的内容。不允许View直接访问Model。
参考文档:
MVP交互--http://www.cnblogs.com/mybkn/archive/2012/04/12/2443676.html