Android App 架构设计相关资料汇总

1 前言

只要有1,2年工作经验的程序员,多多少少都会接触到架构东西。可能平时工作中不一定会有机会从0到1完完全全自己去设计一套架构出来,但是如果想成为高级工程师,技术专家,架构师……尽早接触架构方面的知识是有利无害的。我收集了很多材料,现在汇总在这里,方便查阅。

这篇博文会持续更新的哦!现在的版本是 2020-03-24 更新的。

2 杂谈

Android框架式编程之架构方案(这篇文章个人觉得总结的很不错,把目前Android App开发会使用的架构都有提及到)

开发杂谈:Android移动应用架构发展简史

3 编码架构

编码架构,也有人称为代码架构、架构模式、框架模式等等,主要分为三类:MVC、MVP 和 MVVM。

3.1 MVC

Android 设计模式之MVC,从一个实例中来理解MVC

Android基础——框架模式MVC在安卓中的实践(这篇文章实现的MVC有点特别哦!可以看看!)

Android开发-通过通俗易懂的Demo让你理解Android中MVC架构和MVP架构

3.2 MVP

一个小例子彻底搞懂 MVP

Android基础——框架模式MVP在安卓中的实践

Google TODO-MVP详解

扫描二维码关注公众号,回复: 10334855 查看本文章

浅谈构架模式 - 考拉移动团队的技术博客(涉及MVP和MVVM)

一文带你全面了解MVC、MVP、MVVM模式(含实例讲解)(主要介绍了MVP)

3.3 MVVM

MVVM dataBinding 学习心得

Android项目开发-MVVM(7篇文章组成的一个专题)

Android架构模式之AAC(AAC全称Android Architecture Components,是Android官方推出的MVVM架构指导方案)

4 工程架构

工程架构,也有人称为项目架构,主要分为四类:单工程模式、模块化、组件化、插件化。其中“单工程模式”就是整个项目工程只有一个module,主要靠分包来进行功能划分,是最基础的一种工程架构,我就不罗列资料了。

对于“模块化”和“组件化”的区别,估计很多人都比较迷吧!根据这边文章“对组件化与模块化的思考与总结”的观点,大概可以这么讲:

  • 模块化强调的是拆分,无论是从业务角度还是从架构、技术角度,模块化首先意味着将代码、数据等内容按照其职责不同分离,使其变得更加容易维护、迭代,使开发人员可以分而治之。
  • 组件化则着重于可重用性,不管是界面上反复使用的用户头像按钮,还是处理数据的流程中的某个部件,只要可以被反复使用,并且进行了高度封装,只能通过接口访问,就可以称其为“组件”

我个人是比较赞同这种说法的,所以我就不把模块化和组件化单独来讲了。

4.1 模块化和组件化

一种Android客户端架构设计分享

微信Android模块化架构重构实践

安居客 Android 项目架构演进 - BaronTalk

Android 模块化探索与实践 - BaronTalk

Android 架构思考 (模块化、多进程) - Spiny

Android组件化方案最佳实践 - 门心叼龙(涉及到插件化,其中开源的项目挺不错的)

Android组件化方案 - 张华洋(对于组件化的介绍非常详细,同时还有关键代码的讲解)

Android组件化之终极方案 - 张华洋

4.2 插件化

Android 插件化开发(一):Java 反射技术介绍

Android 插件化开发(二):加载外部Dex文件

Android 插件化开发(三):资源插件化

Android 插件化开发(四):插件化实现方案

如果想进一步交流和学习的同学,可以加一下QQ群哦!

发布了49 篇原创文章 · 获赞 43 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Fantasy_Lin_/article/details/104686495