适配器,服务,内容提供商和其他基本元素在Android应用程序的MVP架构中扮演什么角色?

时间:2016-12-07 23:50:39

标签: android design-patterns architecture mvp

我发现在我的应用程序中使用MVP模式非常有用,但对我来说这太复杂了,如何找出应用程序中的角色元素,即模型,视图,演示者?

  1. 什么是recyclerview的适配器?我想它应该是一个视图,但它管理加载数据到recyclerview,所以它也可以是演示者或模型
  2. 有多少主持人可以查看?什么是基本的?一个视图应该是一个存在和一个模型?但是,如果我有一些观点,他们可以使用一个演示者吗?
  3. 我有一个带有recyclerview的应用程序,它正在从rest api加载图像。我想弄清楚MVP的元素。回收站视图的活动是View?适配器是Presenter?毕加索是模特?改造是模型?在外部存储中下载的通知服务是Model?图像类是模型?
  4. 请给我一个MVP架构的大型复杂应用程序链接吗?

1 个答案:

答案 0 :(得分:0)

对于Android中MVP-ing的最佳方式,没有一致的定义。

我对你问题的回答。

  1. 我说适配器是一个视图,它从演示者传递数据。
  2. 我通常有1个Presenter 1 View。
  3. 查看:RecyclerView,Actvity,Fragment + Adpater都是我的观点。 Presenter:是一个普通的java类,它从模型(Retrofit,Sqlite,ContentProvider)中检索数据,并为其提供 View 来填充RecyclerView。
  4. 请参阅MVP

    上的这篇文章

    注意

    • 尽量确保Presenter没有任何Android逻辑或Android内容。

    • 模型并不仅仅意味着POJO可能意味着包括存储在DB,ContentProvider等中,包括网络检索。

    • 视图不应直接与模型交互,即数据检索,存储等通过Presenter。