很多人学 Android 是用“搭积木”的方式:会写 Activity,会调 RecyclerView,但一旦项目变大,代码就开始互相纠缠。这门课不是教你更多 API,而是把视角拉到“设计”这一层——它要回答的是:Android 框架为什么长成这样?为什么有些写法一改就崩,有些却能轻松扩展?
这门课到底在补什么缺口
你大概率已经知道单例、观察者这些名词,但真正的问题是:它们在 Android 源码里出现在哪里?你写的代码里哪些地方该用、哪些地方不该用?这门课用“变与不变分离”这条主线,把抽象的设计原则落到 Android 的组件和框架上。它不空谈理论,而是让你看懂:为什么 Activity 的启动流程要那样设计,为什么 Handler 的消息机制能用“模式”来解释,为什么你写的自定义 View 需要遵循某些约定才能被系统正常调度。
如果你只是刚学会写几个界面,看这门课会有点吃力;它更适合已经写过一两个完整 App、开始觉得“代码越来越难改”的人。你需要熟悉基本的 Java/Kotlin 语法,知道 Activity 生命周期,最好自己处理过回调、监听器这类东西。带着真实项目里的困惑来,比空着脑袋听效果强得多。
建议先看哪几块,别从头硬啃
课程一共六节,前两节是概念铺垫,第三节从建筑模式讲到 GoF 设计模式,第四节用举例说明框架的意义,第五节是核心思维“变与不变之分离”,第六节集中欣赏 Android 里的 13 项设计模式。如果你时间有限,不要按顺序平均用力。
先花 20 分钟看第 1、2 节,确认自己理解“模式”到底解决什么问题——它不是为了炫技,而是为了应对变化。然后重点啃第 5 节,这是全课的钥匙:把“变”和“不变”分开,你就能解释为什么有些代码要抽接口、有些要写抽象类。有了这个思维,再去看第 6 节里的 13 项设计模式,你会发现自己不是在背名字,而是在验证一个判断:Android 框架的每一个关键选择,都是在为“变化”留出空间。
第 3、4 节相对轻松,可以作为过渡。如果时间紧,可以先跳过去,等第 5 节没听懂再回来补。千万别一上来就把六节全部看完,那样容易变成“看懂了,但用不上”。
学完能独立做什么,资料怎么配练习
学完这门课,你应该能做到两件事:第一,拿到一个陌生的 Android 源码类,能说出它用了哪些设计模式、为什么这么设计;第二,在写自己的功能时,能主动判断“这里会不会变”,然后决定是直接写死,还是留一个接口、一个回调、一个观察者。
具体来说,你可以独立完成一次小型重构:把自己以前写的一个带网络请求和列表展示的页面,拆出数据源、状态管理、视图渲染三层,让新增一种数据展示方式不需要改动原有逻辑。你也能给同事解释为什么 Handler 要用“模板方法”而不是直接继承,为什么 EventBus 这类库本质上是在实现“观察者模式”。
至于资料怎么配合练习,别只是“看视频”。建议每学完一节,立刻打开 Android Studio 的源码目录,找到对应的类,比如 ActivityThread 或 Handler,对照视频里讲到的模式去读一遍。看完第 5 节后,拿自己项目里最容易变的那段逻辑,试着画一张“变与不变”的分离图。第 6 节的 13 项模式,不要只记名字,每项都去源码里找一个实例,哪怕只是看一眼注释和继承关系。这样一遍下来,模式就不再是名词,而是你判断代码结构的工具。最后,把每节视频的标题当作问题清单,合上视频,能用自己的话回答出来,才算真正掌握。
课程目录
1 设计与模式 (22:52) 2 简介设计模式 (26:22) 3 从建筑模式到GoF设计模式 (30:04) 4 举例说明应用框架之意义 (33:41) 5 框架设计基本思维:变与不变之分离 (49:22) 6 欣赏Android里的13项设计模式 (37:16)





