MVP由经典模型MVC发展而来,是模型模型-视图-presenter主机、提交者。 一般来说,它与传统的mvc模型有区别。
在mvc中,view直接使用模型,所以当然view层也有业务逻辑。 此时,wgdxlz的view必须依赖于模型,如果模型层发生变化,view的逻辑也可能发生变化。 这样的代码经过几次修改后,什么都看不见,所以维护起来相当痛。
mvp将模型和视图分割开来,使用presenter作为两相相互作用的“桥梁”。 所有主要的程序逻辑都在presenter中实现,并在view中调用定义的接口。 这样,view层的代码简单干净,如果需要通过模型提供数据,view层也使用了presetnter。这种情况的优点是可以最大限度地复用代码,维护也容易,即使修改了view层,也可以将其转换为逻辑代码
但是,我也从朋友那里听说过,mvp模型在开发中很难活用。 您可能觉得它比mvc更直接,因为它需要多个接口和实现类,代码级别更复杂。