The software architecture of a computing system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.
- 从四个纬度来看
- 为什么要有架构?
可伸缩、可靠性、安全性、可快速的交付
三层架构、六边形架构、微服务架构
user story
1个user story可能会有多个场景, 场景pre-conditions 和 post-conditions
user story 能产生 domain model & operation
比如, 在线电商, 订单管理,库存管理,发货管理。
DDD(领域驱动设计,Domain driven design)
- 领域和子领域
核心领域、通用子域、支撑子域
- 限界上下文
-
实体和值对象
-
聚合和聚合根
仓储模式、工厂模式
-
领域事件
-
DDD分层架构
六边形架构
- 网络延迟
- 因为同步调用减少可用性
- 获取一致的数据
- 神类问题
分为两种, 操作(既有系统级的操作,也有服务之间的协同), 事件(多用于服务间的数据协同)。
- 实现领域驱动设计
- 中台架构与实现