代码之家  ›  专栏  ›  技术社区  ›  metis

具有数据域表示层的MVP

  •  0
  • metis  · 技术社区  · 5 年前

    我对Android应用程序设计体系结构很陌生。我读了很多材料,看了很多视频。我想我理解MVP的概念。MVP用于表示层。但是还有另外两个层:域层和数据层。也就是说,所有在域层中完成的业务逻辑都是交互的。然而,在其他一些资源中,据说所有业务逻辑都是在演示者中完成的。业务逻辑在哪里完成?

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

    1 回复  |  直到 5 年前
        1
  •  0
  •   hemen    5 年前

    我只是非正式地为MVP写了这篇文章-Clean,一个例子就是得到一个列表

    演示:

    • 看法

      :(init localdatasource和datamanager以及executors/other用于异步)
      :将Executors/Other和DataManager引用传递给Presenter(具体类、首选PresenterImp或其他)

      • 节目主持人

      :将executors/other和datamanager ref传递给model(具体类、首选modelimp或其他类型)

    域:

    • 执行人
    • 实体
    • 型号(MVP-型号)

      :这在这里也充当交互方/用例,现在通过执行者引用您从数据管理器的puclic方法请求获取数据。

      例如:mexecutor.submit(new runnable()){

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

      }

    数据:

    :数据管理器(中央存储库)

       - has DataSource as member
    
    
       //getABadWriterList
       public  void getMeBadGOTwriterList(DataSource.ACallback callaback){
    
       mDataSource.getMeList(callback)l
    
       }
    

    :数据源(接口)

    • 本地数据源(实现数据源)
    • 远程数据源(实现数据源)