客户端架构设计及应用| 青训营笔记

149 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第11天
架构是什么
架构,又名软件架构 , 是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。架构描述语言(ADL)用于描述软件的体系架构。现在已有多种架构描述语言,如Wright(由卡内基梅隆大学开发),Acme(由卡内基梅隆大学开发),C2(由UCI开发),Darwin(由伦敦帝国学院开发)。ADL的基本构成包括组件、连接器和配置。
系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。

架构面临的问题

•架构设计是为了解决特定领域不同发展阶段的业务问题

•不同领域的架构有明显的技术差异,但也有很多相似性

•架构不仅面临技术挑战,还要应对组织业务膨胀的熵增

•移动端需要利用有限的设备资源设计符合小屏幕的架构

常见的架构手段

•不同架构手段的共同目标是高内聚低耦合

•找到适合业务场景的架构而不是炫技滥用

•一个复杂的系统是多种架构模型的组合体

架构演进的例子

•架构随业务发展由简单变得复杂是规律

•没必要最初用复杂架构来解决简单问题

•需要用规范持续重构来对抗代码的腐朽

image.png 参卡链接:【Android 客户端专场 学习资料三】第四届字节跳动青训营 - 掘金 (juejin.cn)