代码模型的架构决策

代码模型 体现了 代码模块的 结构层次

架构视图中 代码模型 作为其中一个视图 展现模块的 划分 定义运行时实体 与 执行视图建立联系

代码模型的设计可以分为两个层次,具体如下。

  • 系统层次:设计整个软件系统的代码模型

  • 限界上下文层次:设计限界上下文内部的代码模型

针对整个软件系统,我们可以将这些限界上下文视为一个黑盒子

仅需关心限界上下文暴露的接口以及它们之间的协作关系。而对于整个软件系统,则需要保证其在架构风格上的一致性

在架构设计时,需要找出那些稳定不变的本质特征,这个特征与系统的目标还有需求是相匹配的

限界上下文以及上下文映射就是这样的一种抽象:

  • 如果我们将限界上下文视为微服务,则该系统的架构风格就是微服务架构风格

  • 如果我们将上下文协作模式抽象为发布/订阅事件,则该系统的架构风格就是事件驱动架构风格

  • 如果在限界上下文层面将查询与命令分为两种不同的实现模式,则该系统的架构风格就是命令查询职责分离(CQRS)架构风格

不同的架构风格适应于不同的应用场景

风格的选择应与系统要解决的问题域相关

如何保证软件系统架构设计的一致性?

结合 Simon Brown 提出的 C4 模型来考虑设计元素的粒度和层次:

发布了84 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/csdn_9527666/article/details/105282766
今日推荐