DDD实战篇-防腐层的正确理解

一般来说,为了防止第三方接口污染我们的领域服务,我们需要定义一套防腐层,来完成参数的映射。如下图所示:

防腐层的作用.png

这样的好处就是当外部系统发生改变时,我们只需修改防腐层一处的代码,而无需对领域逻辑进行修改。

但是,就开发效率角度,一些人就会有一些疑问,我将外部接口的参数原样的拷贝到防腐层中,感觉没啥必要,反而很影响效率。从而基本没有什么人在软件开发的时候再去编写防腐层来进行处理。

下面我将从三个方面叙述下防腐层真正的优点与使用方法:

  • 聚焦性:假设外部接口有100个参数,我们只需要关注10个参数,那么我们防腐层只需要定义10个参数即可。
  • 封装性:我们可能会在防腐层中对外部多个接口进行封装处理,从而返回我们系统中真正需要的参数,而外部多个接口的封装处理将沉淀到防腐层中。
  • 适配性:例如同一个字段,在外部系统叫做“地瓜”,在我们系统叫做“红薯”,我们需要通过防腐层来转化成我们系统约定的字段名。
  • 防御性:我们定义防腐层后,可能不会对当前系统产生很大的正向影响,但是后续如果外部接口发生变更,那么我们的收益非常大。
  • 扩展性:可以定义切面,来实现功能的扩展。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容