解耦

作者: Cuist | 来源:发表于2017-12-06 22:34 被阅读31次

今天小董给大家做了一个关于DMTP的精彩演讲,DMTP种种优秀的特性令我们这些听众叹为观止。

为何DMTP具有如此魔法呢?

也许要从spring integration说起,除了实现了企业集成模式外,它还是作为一个微服务设计的。也就是说,DMTP自然也具有独立开发维护和部署,以及易于扩展的敏捷特性。
代码解耦以后各个模块也就变得相对简单,易于重用,易于分析impact,易于单元测试和保证质量。当某功能模块的发布也解耦的时候,这个组件就可以独自更新测试发布,并且升级扩展,这就是微服务。

从信息被减少的角度来看,抽象是解耦天然的解决方案。解耦是横向的隔离,这种隔离可以基于抽象这种纵向的隔离机制之上。除了各种基于接口的面向对象的设计模式以外,代理显然也是解耦的方案之一。

想一想社会的高度精细化分工,不正是解耦的绝佳例子吗,生产汽车的厂商要同轮胎厂商合作,才能最终完成产品。其中轮胎厂商专注于轮胎的生产,它的生成运营,特色化服务,甚至技术进步,都能独立完成。反过来汽车厂商也是一样,而且一旦轮胎是符合标准的,汽车厂商可以随时更换轮胎供应商,这叫portability。
还有各种第三方运营,是使用代理解耦的一种表现

自然而然的,一些问题产生了:

  • 假如将功能P分拆为A,B,C三个部分,怎么能确定这样分是最优的,拆分的原则是什么,A,B,C的边界在哪里?

  • 是不是拆分的粒度越小越好,怎样决定粒度的大小?

  • 对于做interface 这件事,ISDC经验丰富,怎样考虑到解耦enterprise integration,障碍在哪里?

  • 若自己考虑拆分integration的模块,也会得到endpoint, channel, filter…这些抽象组件么,差别是如何造成的?

  • 学习spring integration是否有助于理解学习其它包含抽象概念的framework?

思考是一种乐趣,欢迎交流:-)

相关文章

  • 解耦

    解耦 对于大型重构, 最有效的手段就是 解耦, 解耦的目的使实现代码高聚合、松耦合。 解耦为何如此...

  • 20171127-03问题整理

    总摘要: 解耦. 接口降低. 架构. 2017-11-27摘要: 解耦. 接口降低. 架构. 1.为什么说解耦的...

  • 解耦

    今天小董给大家做了一个关于DMTP的精彩演讲,DMTP种种优秀的特性令我们这些听众叹为观止。 为何DMTP具有如此...

  • 解耦

    利用配置文件实现解耦 存在一个接口B 有3个实现类B1、B2、B3 在A类方法中需要调用B类实现代码: 此情况下,...

  • DDD 中的事件总线 (一)

    DDD 为什么需要event bus? 简单的说就是 解耦 ,无论是本地聚合间的解耦,还是微服务间的解耦. 没有e...

  • AFNetworking源码之AFAutoPurgingImag

    AFAutoPurgingImageCache图片缓存 通过2个protocol解耦,通过协议继承来解耦。协议相当...

  • iOS三方框架之 - AFNetworking的Https认证流

    对AFNetworking进行解耦AFNetworking解耦后可以分为以下几个模块:1. NSURLSessio...

  • 消息队列和RabbitMQ及AMQP协议介绍

    转自:二月_春风 文章地址 为什么要使用消息队列 异步处理 系统解耦解耦是消息中间队列解决的最本质问题。所谓解耦,...

  • 【5分钟背八股】说说你对aop的理解?

    AOP全称叫做 Aspect Oriented Programming 面向切面编程。它是为解耦而生的,解耦是程...

  • 2022-05-01代码重构 -- 大小规模重构

    大规模高层次重构 解耦代码 “解耦”为何如此重要? 过于复杂的代码往往在可读性、可维护性上都不友好。解耦保证代码松...

网友评论

      本文标题:解耦

      本文链接:https://www.haomeiwen.com/subject/noplixtx.html