MVP模式)

  声明:百科词条人人可编纂,词条建立和点窜均免费,毫不具有官方及代办署理商付费代编,请勿上当被骗。详情

  mvp的全称为Model-View-Presenter,Model供给数据,View担任显示,Controller/Presenter担任逻辑的处置。MVP与MVC有着一个严重的区别:在MVP中View并不间接利用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会间接从Model中读取数据而不是通过 Controller。

  MVP 是从典范的模式MVC演变而来,Model供给数据,View担任显示。作为一种新的模式,MVP与MVC有着一个严重的区别:在MVP中View并不间接利用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从间接Model中读取数据而不是通过 Controller。

  在MVC里,View是能够间接拜候Model的!从而,View里会包含Model消息,不成避免的还要包罗一些营业逻辑。 在MVC模子里,更关心的Model的不变,而同时有多个对Model的分歧显示,及View。所以,在MVC模子里,Model不依赖于View,可是View是依赖于Model的。不只如斯,由于有一些营业逻辑在View里实现了,导致要更改View也是比力坚苦的,至多那些营业逻辑是无法重用的。

  2、能够更高效地利用模子,由于所有的交互都发生在一个处所——Presenter内部

  3、我们能够将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特征很是的有用,由于视图的变化老是比模子的变化屡次。

  4、若是我们把逻辑放在Presenter中,那么我们就能够离开用户接口来测试这些逻辑(单位测试)

  因为对视图的衬着放在了Presenter中,所以视图和Presenter的交互会过于屡次。还有一点需要大白,若是Presenter过多地衬着了视图,一旦视图需要变动,那么Presenter也需要变动了。好比说,本来用来呈现Html的Presenter需要用于呈现Pdf,那么Presenter很有可能也需要变动。

  更多精彩报道,尽在https://www.yisenlouti.com