代码模型的架构决策

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

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

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

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

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

 

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

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

 

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

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

 

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

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

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

     

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值