1. 前言
只要有1,2年工作经验的程序员,多多少少都会接触到架构东西。可能平时工作中不一定会有机会从0到1完完全全自己去设计一套架构出来,但是如果想成为高级工程师,技术专家,架构师……尽早接触架构方面的知识是有利无害的。我收集了很多材料,现在汇总在这里,方便查阅。
这篇博文会不断更新的哦!现在的版本是 2020-03-24 更新的。
2. 杂谈
Android框架式编程之架构方案(这篇文章个人觉得总结的很不错,把目前Android App开发会使用的架构都有提及到)
3. 编码架构
编码架构,也有人称为代码架构、架构模式、框架模式等等,主要分为三类:MVC、MVP 和 MVVM。
3.1 MVC
Android基础——框架模式MVC在安卓中的实践(这篇文章实现的MVC有点特别哦!可以看看!)
Android开发-通过通俗易懂的Demo让你理解Android中MVC架构和MVP架构
3.2 MVP
浅谈构架模式 - 考拉移动团队的技术博客(涉及MVP和MVVM)
一文带你全面了解MVC、MVP、MVVM模式(含实例讲解)(主要介绍了MVP)
3.3 MVVM
Android项目开发-MVVM(7篇文章组成的一个专题)
Android架构模式之AAC(AAC全称Android Architecture Components,是Android官方推出的MVVM架构指导方案)
4. 工程架构
工程架构,也有人称为项目架构,主要分为四类:单工程模式、模块化、组件化、插件化。其中“单工程模式”就是整个项目工程只有一个module,主要靠分包来进行功能划分,是最基础的一种工程架构,我就不罗列资料了。
对于“模块化”和“组件化”的区别,估计很多人都比较迷吧!根据这边文章“对组件化与模块化的思考与总结”的观点,大概可以这么讲:
- 模块化强调的是拆分,无论是从业务角度还是从架构、技术角度,模块化首先意味着将代码、数据等内容按照其职责不同分离,使其变得更加容易维护、迭代,使开发人员可以分而治之。
- 组件化则着重于可重用性,不管是界面上反复使用的用户头像按钮,还是处理数据的流程中的某个部件,只要可以被反复使用,并且进行了高度封装,只能通过接口访问,就可以称其为“组件”
我个人是比较赞同这种说法的,所以我就不把模块化和组件化单独来讲了。
4.1 模块化和组件化
安居客 Android 项目架构演进 - BaronTalk
Android 架构思考 (模块化、多进程) - Spiny
Android组件化方案最佳实践 - 门心叼龙(涉及到插件化,其中开源的项目挺不错的)
Android组件化方案 - 张华洋(对于组件化的介绍非常详细,同时还有关键代码的讲解)
4.2 插件化
Android 插件化开发(四):插件化实现方案进一步交流和学习的同学,可以加一下QQ群哦!