• Stars
    star
    255
  • Rank 153,545 (Top 4 %)
  • Language
    Groovy
  • Created almost 5 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AucFrame

AucFrame 之简介及学习

简介

首先,什么是 AUC 呢?在 QQ 群里的小伙伴们应该知道这个词,或者知道我的工具类的也应该能猜到是什么,没错,AUC 全称就是 AndroidUtilCode,这个项目的生命周期已长达 3 年之久,star 数目前是 24k+,应该算是比较成功的一个开源项目了,基于它,我打造了一套自认为还不错的组件化架构 ———— AucFrame,其优点如下所示:

  • 统一管理项目中的 Gradle
  • 自由选择调试模块
  • 自由选择需要的包
  • 自由切换源码和远程仓库
  • 业务模块互不依赖,完全解偶
  • 模块间通讯一学就会
  • 比 EventBus 更高效的模块内通讯

接下来就让我们来一一揭开他的神秘面纱。

预览

架构么,肯定要开门见山,直接上图,不然说的再天花乱坠也无济于事,也就是所谓的 no picture you say a j8,AucFrame 的架构如下所示: AucFrame

其项目中具体的工程结构如下所示:

└── AndroidUtilCode
    ├── feature
    │   ├── launcher
    │   │   └── app
    │   ├── main
    │   │   ├── app
    │   │   └── pkg
    │   ├── mock
    │   ├── subutil
    │   │   ├── app
    │   │   ├── export
    │   │   └── pkg
    │   └── utilcode
    │       ├── app
    │       ├── export
    │       └── pkg
    └── lib
        ├── base
        ├── common
        ├── subutil
        └── utilcode

基于此,我们可以设计出如下通用架构:

AucFrameGeneral

其工程结构如下所示:

└── ProjectName
    ├── feature
    │   ├── launcher
    │   │   └── app
    │   ├── feature0
    │   │   ├── app
    │   │   ├── export
    │   │   └── pkg
    │   ├── feature1
    │   │   ├── app
    │   │   ├── export
    │   │   └── pkg
    │   └── mock
    └── lib
        ├── base
        ├── common
        ├── rxjava
        └── utilcode

对着架构图也许你也能撸出来一个,但其优雅程度肯定不及我撸的,具体如何优雅?最直接的就是 feature 下的所有模块的 build.gradle 都是空空如也,没有一行代码,甚至删了也无所谓,也就不需要你写哪个模块具体需要依赖什么,但确切的依赖关系,就是架构中所示,开发者可自由配置想要运行哪个 app,自由配置你所需要的 pkg,做到各业务可完全独立运行,下面就让我带领你如何优雅地撸出它来。

学习

该教程适合期望能优化自己工程架构的中高级开发人员,新手的话建议把 Gradle 摸清楚了再来学习即可,为了你更好更全面地了解及掌握 AucFrame,在这里我会一步步地搭建一个模板工程:AucFrameTemplate,并教你如何搭建出该架构及背后的原理,方便你可以运用到你的项目中,或者在下个项目中快速使用,相关课程列表如下所示:

  1. AucFrame 之简介及学习(就是本节)
  2. AucFrame 之让你的 Gradle 更智能
  3. AucFrame 之统一管理 Gradle
  4. AucFrame 之解放 Gradle
  5. AucFrame 之模块间通信
  6. AucFrame 之模块内通信

欢迎加入我的知识星球「基你太美」,我会在星球中分享 AucFrame 框架、大厂面经、AndroidUtilCode 更详尽的说明...一切我所了解的知识,你可以通过支付进入我的星球「基你太美」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美+你的星球昵称)加我个人微信,方便我后续拉你进群(PS:进得越早价格越便宜)。

我的二维码

More Repositories

1

AndroidUtilCode

🔥 Android developers should collect the following utils(updating).
Java
32,837
star
2

awesome-java-leetcode

👑 LeetCode of algorithms with java solution(updating).
Java
8,653
star
3

AndroidStandardDevelop

🌟 Best practices in Android develop(final).
2,977
star
4

awesome-comment

💥 Funny comments
2,200
star
5

AndroidOfferKiller

💪 Help you get a better offer.
1,825
star
6

FreeProGuard

🔰 Config proguard for common Android libraries.
Java
559
star
7

resume

🎉 An resume template for Android developers.
CSS
494
star
8

SwipePanel

Android 侧划,如斯优雅
Java
485
star
9

ALog

📝 A simple util of log in Android develop.
Java
450
star
10

RxBus

🚌 The RxBus as steady as an old dog.
Java
340
star
11

ProgressRing

自定义View之渐变圆环进度条
Java
155
star
12

doge-expression

🐶 Expression of cartoon doge
140
star
13

HelloKotlin

💨 Kotlin从入门到JAVA
80
star
14

glory

select * from learn
CSS
36
star
15

NiceViewPager

Java
25
star
16

proguard-templates

24
star
17

blankj.github.io

homepage
HTML
22
star
18

AutoCheckEditTextDemo

Automatically check user's input is correct.
Java
17
star
19

AchieveScroll

Java
15
star
20

RecyclerPopupWindow

Use RecyclerView and PopupWindow to Replace ListPopupWindow
Java
15
star
21

StaticBus

🚌 A static bus use in modules.
Java
15
star
22

Blankj

About me
10
star
23

GetRotateDegree

Java
10
star
24

EditTextPassword

Java
10
star
25

AndroidUtilDebug

7
star
26

AndroidStudioGitIgnore

Android Studio .gitignore
6
star
27

CustomViewGroup

Java
5
star
28

AndroidCommon

Java
5
star
29

AppFrame

Java
5
star
30

RewriteView

Java
4
star
31

MyTopBar

Java
3
star
32

ListViewExpandation

Java
3
star
33

GoGoGo

3
star
34

ListViewSkill

Java
2
star
35

EventIntercept

Java
2
star
36

JavaUtilCode

1
star
37

AndroidStudioPluginTemplate

1
star
38

Lg

二次封装mars-xlog
C++
1
star
39

AndroidStudioTemplatePlugin

1
star