从工作边界识别限界上下文

限界上下文划分业务边界: 从业务相关性(内聚)判断业务的归属

 

基于团队合作划分工作边界: 帮助我们确定限界上下文合理的工作粒度

 

按照团队合作的角度划分限界上下文,其实是一个动态的过程、演进的过程。

 

从团队合作层面看待限界上下文,就从技术范畴上升到了管理范畴

 

一个高效的团队需要满足两点要求:

1 共同的目标

2 团队的边界

 

设计团队组织时确定工作边界的原则:

1 团队成员应对团队的边界形成共识

团队成员需要了解自己负责的限界上下文边界,以及该限界上下文如何与外部的资源以及其他限界上下文进行通信

2 团队的边界不能太封闭(拒绝外部输入),也不能太开放(失去内聚力),即所谓的“渗透性边界” 符合 “高内聚、松耦合”的设计原则

 

团队成员需要对自己负责开发的需求“抱有成见”

知道团队的职责边界:

1 承担属于团队边界内的需求开发任务

2 推辞职责范围之外强加于他的需求

 

每个人都在思考这项工作该不该我做时,

1 在思考职责的分配是否合理,

2 限界上下文的划分是否合理。

绘制限界上下文图(Bounded Context Map)是领域驱动设计(DDD)中用于可视化限界上下文之间关系的重要工具。以下是绘制限界上下文图的步骤和注意事项: ### 1. 识别限界上下文 在绘制限界上下文图之前,首先需要明确系统的各个限界上下文限界上下文是业务领域中的一个明确边界,它定义了特定的业务规则和模型。可以通过领域建模和团队讨论来识别这些限界上下文。 ### 2. 确定限界上下文之间的关系 限界上下文之间可能存在多种关系,如发布者/订阅者模式、遵奉者模式、共享内核模式等。这些关系决定了限界上下文之间的协作方式,并对系统的架构产生影响。 ### 3. 绘制限界上下文图 在绘制限界上下文图时,可以使用以下元素: - **限界上下文**:用矩形框表示,每个框代表一个限界上下文。 - **关系**:用箭头或连线表示,箭头的方向表示限界上下文之间的依赖关系或通信方向。 例如,如果限界上下文A依赖于限界上下文B,则从A指向B的箭头表示这种依赖关系。 ### 4. 使用防腐层(Anticorruption Layer) 当集成两个设计良好的限界上下文时,可能会需要使用防腐层(Anticorruption Layer)来处理模型之间的翻译转换。防腐层通过已有的接口与其他系统交互,而其他系统只需要做很小的修改,甚至无须修改。 ### 5. 避免共享数据库 共享数据库可能传递“反模式”的信号。当两个分处不同限界上下文的服务需要操作同一张数据表时,意味着设计可能出现了错误。应该考虑引入新的限界上下文或重新分配职责。 ### 6. 更新和维护限界上下文图 随着业务需求的变化,限界上下文及其关系可能会发生变化。因此,限界上下文图需要定期更新和维护,以确保其准确性和有效性。 ### 示例图 ``` +----------------+ +----------------+ | | | | | 用户管理 |<----->| 订单管理 | | | | | +----------------+ +----------------+ | | | | v v +----------------+ +----------------+ | | | | | 价格服务 |<----->| 邮件服务 | | | | | +----------------+ +----------------+ ``` 在上述示例图中,用户管理、订单管理、价格服务和邮件服务分别代表不同的限界上下文,箭头表示它们之间的协作关系。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值