Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jessyancoding/mvpart
🎨 A new Android MVP architecture (此框架旨在解决传统 MVP 类和接口太多, 并且 Presenter 和 View 通过接口通信过于繁琐, 重用 Presenter 代价太大等问题).
https://github.com/jessyancoding/mvpart
android-architecture android-library architectural-patterns architecture arms mvp mvp-android mvp-architecture mvp-library mvp-pattern mvparms mvpart
Last synced: about 22 hours ago
JSON representation
🎨 A new Android MVP architecture (此框架旨在解决传统 MVP 类和接口太多, 并且 Presenter 和 View 通过接口通信过于繁琐, 重用 Presenter 代价太大等问题).
- Host: GitHub
- URL: https://github.com/jessyancoding/mvpart
- Owner: JessYanCoding
- License: apache-2.0
- Created: 2017-02-25T08:27:54.000Z (almost 8 years ago)
- Default Branch: complete
- Last Pushed: 2018-12-14T11:13:25.000Z (about 6 years ago)
- Last Synced: 2024-12-15T18:46:37.987Z (7 days ago)
- Topics: android-architecture, android-library, architectural-patterns, architecture, arms, mvp, mvp-android, mvp-architecture, mvp-library, mvp-pattern, mvparms, mvpart
- Language: Java
- Homepage:
- Size: 1.16 MB
- Stars: 775
- Watchers: 33
- Forks: 153
- Open Issues: 3
-
Metadata Files:
- Readme: README-zh.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
MVPArt
A New Android MVP Architecture
**此框架旨在解决传统 **MVP** 类和接口太多, 并且 **Presenter** 和 **View** 通过接口通信过于繁琐, 重用 **Presenter** 代价太大等问题**
## Architectural
## 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**:
* **Home**:
* **掘金**:
* **简书**:## License
```
Copyright 2017, jessyanLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```