3.什么是面向复杂度架构设计
架构设计方法论
面向模式软件架构
- 核心思想:应用经过验证的成熟 架构模式 ,例如MVC、Reactor等
- 核心问题:知道模式,但是不知道什么时候用哪个模式
- 太庞大,且比较理论化,看起来比较累
风险驱动架构设计
- 核心思想:根据系统 风险 大小来设计软件架构
- 核心问题:风险是一种概率预判,“ 一切皆有可能 ”
- 建模部分的内容本质是 面向对象 设计的建模过程
DDD和整洁架构
- DDD是可扩展架构的设计技巧,不是架构方法论
- DDD兼顾架构设计和方案设计,大部分人会搞混
- DDD、敏捷架构不关注存储和计算,只关注业务
面向复杂度
为什么做架构设计?
- 因为架构很重要,所以要做架构设计
- 为了提升开发效率,为了促进业务发展
- 公司流程要求系统开发过程中必须有架构设计
- 为了高性能、高可用、可扩展,所以要做架构设计
面向复杂度的架构设计
- 本质:架构设计是为了降低软件系统的复杂度
→怎么做架构设计
- 思路:通过分析系统需求找到系统复杂的地方,然后设计方案
→有哪些复杂度
- 模式:复杂度来源:高性能、高可用、可扩展、安全、成本……
→怎么降低复杂度
- 套路:分库分表、缓存、集群、分片、微服务、DDD、异地多活……
架构设计环