美文网首页架构Android技术知识Android开发
MVP实践 one一个第三方客户端

MVP实践 one一个第三方客户端

作者: dzy是个坏人 | 来源:发表于2016-04-12 16:43 被阅读675次

    软件简介

    One 一个, 韩寒主编的阅读类应用的第三方客户端,每天提供一篇文章一幅图片一段话等,这是本人自学安卓的一个练手项目,如果喜欢请给个star鼓励一下,谢谢-

    主要技术

    后台数据:php解析html返回json
    网络请求:OKhttp、retrofit
    图片加载:picasso
    架构思想:MVP
    本地存储:sqlite,Easydao(自写的一个简单的orm库)
    源码:https://github.com/dzysghr/DOne

    功能界面

    device-2016-04-12-151627.png
    device-2016-04-12-151650.png

    主要架构

    微信截图_20160412154917.png

    关于MVP

    关于mvp,我想网上已经有大量的文章去介绍什么是mvp和mvp的主要思想。俗话说的好,道理我都懂,但是实践起来却不一定能行。网上的文章 关于mvp的核心思想是一样的,但是具体的实现又是五花八门。下面说一下做这个app时的几点困惑

    • view和presenter 应该怎么去绑定
    • view 和presenter一定要一对一关系吗
    • 同一个界面有两种逻辑,Presenter怎么去实现,是定义两个presenter,还是实现一个集所有功能的presenter
    • adapter和VHolder属于哪一层
    • p的生命周期
    • 三个层都要基于接口来实现吗

    关于上面的几点,最近看到这一篇很棒的文章,几乎解决了我所有的疑惑
    Android MVP 详解(上)
    Android MVP 详解(下)

    在做这个项目的过程中,我花大量时间去思考代码应该怎么写才是真正的mvp,怎样写才是可维护性高的、优雅代码,最后浪费了大量时间却一个功能都没有实现,现在看来真是本末倒置。我觉得无论是任何思想也好,设计模式也好都是用来解决问题的,没有遇到问题的时候(尤其是一些小项目),就没必要过分去追求所谓的模式。当我们没有丰富的编码和架构经验时,就不应该过度地去做抽象,过早地去做重构,明明几行代码的事情却要分成几个类,最后写出来的所谓优雅的代码除了麻烦自己并没有太大用处,这是我写这个app过程中的一点想法。所以在Done这个项目中,并不是什么最佳的mvp实践,很多东西都是简单地直接引用而没有去做抽象。
    如果有哪些地方写得不好,欢迎和我一起讨论

    最后补充一下谷歌亲爹的mvp实践
    https://github.com/googlesamples/android-architecture

    相关文章

      网友评论

      本文标题:MVP实践 one一个第三方客户端

      本文链接:https://www.haomeiwen.com/subject/vucwlttx.html