架构实战营模块一总结
一、什么是架构
1.1 概念区分:
系统和子系统/模块和组件/架构和框架/
1.2 4R 架构:rank role relation rule
二、 如何画出优秀的架构图
2.1 常见架构图:系统架构图/应用架构图/业务架构图/部署架构图/逻辑架构图/物理架构图
2.2 4+1 架构视图:逻辑视图/开发视图/处理视图/物理视图/场景视图
三、 面向复杂度的架构设计
3.1 常见的方法论
面向风险/面向模式/面向复杂度/DDD
3.2 面向 GITHUB/面向 State of flow(网上找的库或方法,跑出问题,去 state of flow)
3.3 面向模式的软件架构:5 本书,西门子,参考设计模式
3.4 面向风险架构设计:《恰如其分的软件架构》(风险驱动的架构设计方法论/建模技巧)
3.5 DDD:(domain drive design)领域驱动架构设计------降低领域负责度,实现领域的可扩展,可理解。兼顾架构设计和方案设计,战略设计(衔接上下文)和战术设计(antiti/server/variy object)。用 ddd 话分微服务
《代码整洁之道》/《架构整洁之道》-----bobo 大叔
3.6 面向复杂度架构设计:
第一次软件危机:goto 太乱,结构化的编程语音----顺序/分支/循环
第二次软件危机:软件可扩展麻烦,诞生面向对象
四、 如何做好架构设计
4.1 架构设计三原则:合适/简单/演化
4.2 架构设计的意义
4.3 外部复杂度和内部复杂度
外部:和其他系统的联系多
内部:多个开发人员开发一个模块, 角色过多
可扩展性差的例子:每增加一个需求,都要拉上几十个子系统负责人讨论。
4.4 演化原则
4.5 失败案例 1:华为三网和一,很多人讨论几个月,业务过于复杂,无法实现。违背简单原则。
4.6 失败案例 2:UC 10 多个人拆分 40 多个子系统,全部异步高性能,全用 C 写,效率奇低,团队解散。
4.7 合适>简单>演化
4.8 中间件消息队列
4.9.架构设计环
4.10 架构设计原则维度
评论