这是我参与「第四届青训营 」笔记创作活动的第6天
前言
这是我在青训营发表的第六篇笔记,仅以此来记录我在青训营的学习成长历程。
本篇笔记的第一部分为课程客户端架构设计及应用的课程笔记;
第二部分为课后的思考与总结。
一.客户端架构设计及应用课程笔记
- 你所了解的架构是什么?
没有完美的架构,需要不断对实现做架构。
- 你觉得架构师们每天都在干什么?
每天都根据用户的需求,讨论如何做软件设计。
1.架构面临的问题
- 产品和架构的生命周期
孕育期:起初我有一个想法,并打算去实现
婴儿期:如何去抽象建模,如何去实现选型
学步期:快速融合代码,确定工程架构
青春期:不断完善工程架构,代码量不断增长
壮年期:适应业务变化,应对代码膨胀
稳定期:不断重构优化,落地标准规范
贵族期:传说中的“屎山”,多方跑马圈地
官僚期:流程没完没了,各方拼命甩锅
消亡期:代码已经腐朽,躺平摆烂逃离
- 不同技术领域的架构问题
不同技术领域之间有公共的问题,也有交叉的问题,实现起来极其困难。
- 还有一些其它挑战
随着代码量的增加,架构必定越来越复杂。
2.常见的架构手段
- 小的架构手段
GoF设计模式
MVC
MVP
MVVM
AOP
loC
- 大的架构手段
单体架构
分离架构
服务化架构
微服务架构
领域驱动架构
3.架构演进的例子
- 不同形态的架构
二.课后的思考与总结
本节课讲的是Android客户端架构设计及应用。这节课的难点以及在实际架构设计的难点在于如何正确的分析问题去设计一个好的架构来解决问题,在解决问题的时候如何避免代码中的冗余,形成“屎山”。