# MVPArt **Repository Path**: CKStack/MVPArt ## Basic Information - **Project Name**: MVPArt - **Description**: 此MVP框架旨在解决传统 MVP 类和接口太多, 并且 Presenter 和 View 通过接口通信过于繁琐, 重用 Presenter 代价太大等问题 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: complete - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-17 - **Last Updated**: 2021-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
## Introduction
> [**Master** 分支](https://github.com/JessYanCoding/MVPArt/tree/master)
>> **Master** 分支是一个不含网络层的简易框架,主要通过4个 **Demo** 介绍本框架的思想,特性以及使用方法,小巧灵活适合已经有一整套现有框架但又需要重构为 **MVP** 结构的项目,但不管你使用哪个分支都强烈建议你先看看 **Master** 分支的 **Demo**
> [**Complete** 分支](https://github.com/JessYanCoding/MVPArt/tree/complete)
>> **Complete** 分支是一个含有网络层的完整框架,将 **Retrofit** 作为网络层并使用 **Dagger2** 管理所有对象,成熟强大适合新建的项目
## Wiki
[详细使用方法及扩展功能,请参照 Wiki 文档](https://github.com/JessYanCoding/MVPArms/wiki)
> Tips: **MVPArt** 和 **MVPArms** 的主要区别在于 **MVP** 中的 **V** 和 **P** 的交互方式 (**Master** 分支中详细描述), 其他核心功能基本一致, 所以文档中大部分内容两者都可以共用
## Notice
* 使用之前,请参阅 [传统MVP用在项目中是真的方便还是累赘?](https://www.jianshu.com/p/ac51c9b88af3)
* [使用 Template 自动生成 MVP 相关类](https://github.com/JessYanCoding/MVPArmsTemplate)
* 此框架是一个轻量级框架,比较适合中小型项目,大型项目请使用 [MVPArms](https://github.com/JessYanCoding/MVPArms)
* 传统MVP每个页面对应一个 **Presenter** ,而大多数 **Presenter** 只有一两个方法,这样导致存在大量代码寥寥无几的 **Presenter** ,此框架旨在解决复用 **Presenter** 时需要实现过多多余接口方法的问题,鼓励开发者将相近的逻辑写在一个 **Presenter** 中,不断重用 **Presenter** ,减少大量类文件
* 当然很多不同的逻辑都写在一个 **Presenter** 中,虽然可以少写很多类,但是后面的扩展性肯定不好,所以这个粒度需要自己控制,但是对于外包项目简直是福音
## Download
``` gradle
implementation 'me.jessyan:art:2.5.0'
---------------------- 以下是扩展库 ----------------------
//想使用 Glide 请依赖 art-imageloader-glide 扩展库
implementation 'me.jessyan:art-imageloader-glide:2.5.0'
//想使用 AndroidAutoLayout 请依赖 art-autolayout 扩展库
implementation 'me.jessyan:art-autolayout:2.5.0'
```
## About Me
* **Email**: