防腐层(Anti Corruption Layer)介绍

防腐层(ACL)是一种设计模式,源于领域驱动设计(DDD),用于隔离不同系统间的集成,确保模型转换适应使用者需求而非提供者。常见于新旧系统切换、微服务边界上下文集成和系统独立迭代。ACL通常通过Facade和Adapter模式实现,充当新旧系统或微服务之间的胶水代码,转换并传递数据模型。
摘要由CSDN通过智能技术生成

防腐层(ACL):DDD(Eric Evans)中引入的模式, 用于隔离两个系统, 允许两个系统之间在不知道对方领域知识的情况下进行集成。

主要进行的是两个系统之间的model(模型)或者协议的转换, 并且最终目的是为了系统使用者的方便而不是系统提供者的方便, 进一步解释就是ACL尽量把系统提供者的模型转换为系统使用者的模型(而不引入中间第三者模型)

 

使用场景: 

  1. 新旧系统切换时, 有些新系统需要和旧系统打交道, 此时可以利用 防腐层隔离新旧系统。

  2. 微服务中多个边界上下文的领域知识需要共享, 可以利用防腐层隔离两个系统

  3. 一个大的系统由多个独立的小组进行维护,可能会出现有些系统重构为新系统,又要保持和其他系统的连接, 此时用防腐层做到独立迭代和兼容

 

ACL的接口:

  1. 提供一组Service

  2. 提供Entity

 

设计模式的实现:

  1. Facade

  2. Adapter

 

示意图:

 

(上图是新旧系统之间通过ACL来做隔离)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值