具有数据域表示层的MVP

时间:2019-05-18 15:53:47

标签: android mvp

我是android应用程序设计架构的新手。我读了很多材料,看了很多视频。我想我了解MVP的概念。 mvp用于表示层。但是也存在另外两个层:域层和数据层。据说所有业务逻辑都在域层完成,换句话说就是交互器。但是,在其他一些资源中,据说所有业务逻辑都在演示者中完成。业务逻辑在哪里做?

网络上的源代码示例要么简单,如建造玩具屋,要么非常复杂,包括100多个类接口dagger rxjava和其他100多个框架工具,因此建造摩天大楼等许多事情。我已经阅读了网络上所有可用的文章。请不要提供这些链接。请帮我解释一下,以了解MVP概念与数据域表示层概念吗?

1 个答案:

答案 0 :(得分:0)

我只是为MVP -clean非正式地写了这个,一个示例是获取列表

演示:

  • 视图

    :(初始化LocalDataSource和DataManager和Executors / other用于异步)
    :将Executors / other和DataManager引用传递给presenter(具体类,最好是PresenterImp或其他)

    • 演示者

    :将Executors / other和DataManager的引用传递给模型(具体类,最好使用ModelImp或其他)

域:

  • 执行人
  • 实体
  • 模型(mvp-模型)

    :这在这里也充当了交互器/用例,现在通过执行器ref,您可以从DataManager的puclic方法中请求获取数据

    例如:mExecutor.submit(new Runnable(){

      mDataManager.getMeBadGOTwriterList(new ACallback(){
    
      onSuccess(List BadWriter){
    
      mPrenter.sendList(BadWriter);
      }
    
      onFailed(){
      }
      }
    

    }

数据:

:DataManager(中央存储库)

   - has DataSource as member


   //getABadWriterList
   public  void getMeBadGOTwriterList(DataSource.ACallback callaback){

   mDataSource.getMeList(callback)l

   }

:数据源(接口)

  • LocalDataSource(实现数据源)
  • RemoteDataSource(实现DataSource)