首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

产品经理 | 什么是解耦?

在理解解耦之前,我们先来理解耦合度。耦合度是软件工程领域的概念,是指模块之间的依赖程度。 这里的模块可以小到一个小功能,也可以大到一个系统。 那么对应的,解耦就是解除模块之间的耦合关系。...降低模块之间的依赖程度也可以理解为解耦,模块之间有依赖关系就必然存在耦合, 0耦合是基本无可能的,那是最理想的状态。 耦合度越低,模块之间依赖的程度越低,模块的独立性、复用性和可移植性就越强。...2)看模块的复用性 可复用性越高,说明耦合度越低 3)看模块的可移植性 可移植性越高,说明耦合度越低 举个例子:比如公司有一个电商A产品,它里面有搜索推荐功能,但是搜索推荐功能是强耦合在电商产品里面的,...如果把A产品的基础功能和搜索推荐功能解耦,各司其职,分开2个独立的模块,以后任何产品想接入搜索推荐功能的话,按照接入标准接入即可。...小结:如果很难降低2个模块的耦合度,那么可能是模块之间职责分工不合理、调用方式有问题、或者设计模式不合理等等。 --- end ----

3.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    消息队列解耦是骗小孩儿的

    有一个观点已经被说烂了:使用 MQ 可以帮助业务系统解耦。 想法很简单,在业务状态流转时,如果没有 MQ,那么其它系统想要知道状态变了,那就需要核心流程系统去主动做通知。...解决这种耦合的最简单的方法,在单模块的情况是用依赖反转,在分布式场景下,就是引入消息队列: ?...在一开始的图中,我们存在的依赖是双向的: ? 双向依赖 核心系统依赖下游系统是因为调用关系,下游系统依赖核心系统是因为下游系统要使用核心系统的数据。...有一个方向的依赖被解除了 这样下游系统在崩溃的时候,也就不太容易影响到核心系统的稳定性。...看不见的依赖是很可怕的,所有人都会慢慢地逐渐忽视它,直到事故发生的那一天。

    70850

    SK Hynix:CXL内存解耦在HPCAI场景的应用

    内存解耦的高效管理需求:为支持AI模型,需要研究分解内存的动态分配、近数据处理和遥测功能,以优化资源利用率和系统性能。...CXL(Compute Express Link)提供了突破物理限制的新机会,支持高效的内存解耦。...在CXL之前Optane是市场热切关注的内存扩展方案,为什么Optane会退出而CXL成为统一的事实? Optane(英特尔开发的持久性内存技术)在一些方面不如CXL方案,导致它逐渐被淘汰。...解决方案:CXL解耦内存系统 支持通过CXL解耦内存系统实现内存池化和共享 内存池化:通过节点间共享内存资源,缓解内存孤岛和数据溢出问题。...CXL 内存解耦案例 案例1:内存池化(与MemVerge合作) Niagara可以在不重置的情况下,为每个节点动态分配/释放分解内存资源。 提升了使用CXL分解内存系统的内存利用率和性能。

    8910

    为什么微前端开始在流行:后端解耦,前端聚合

    我遇到的较多的情况是:旧的应用使用的是 Angular.js 编写,而新的应用开始采用 Angular 2+。这对于业务稳定的团队来说,是极为常见的技术栈。...后端解耦,前端聚合 而前端微服务的一个卖点也在这里,去兼容不同类型的前端框架。...这让我又联想到微服务的好处,及许多项目落地微服务的原因: 在初期,后台微服务的一个很大的卖点在于,可以使用不同的技术栈来开发后台应用。但是,事实上,采用微服务架构的组织和机构,一般都是中大型规模的。...因此,在充分使用不同的技术栈来发挥微服务的优势这一点上,几乎是很少出现的。在这些大型组织机构里,采用微服务的原因主要还是在于,使用微服务架构来解耦服务间依赖。...相似的,这种趋势也在桌面 Web 出现。聚合成为了一个技术趋势,体现在前端的聚合就是微服务化架构。 兼容遗留系统 那么,在这个时候,我们就需要使用新的技术、新的架构,来容纳、兼容这些旧的应用。

    98520

    一起测智商——解耦真的对下游任务有帮助吗

    ) 那么该如何确定解耦是否有帮助呢,我们可以看看解耦表现和解答表现之间的关系啊,如果是解耦的越好解答的越好,那么我们就可以在一定程度上认为解耦对于下游任务是有帮助的,反之,如果解耦表现与下游任务表现之间没什么关系...毋庸置疑,使用真实值的模型表现最好,其次就是使用解耦后的特征,最糟糕的就是直接CNN硬来,这可以初步说明解耦对于下游任务的重要性,但是解耦与表示的关系究竟如何呢,下面的结果可以给出一个强有力的回答,解耦对下游任务至关重要...横坐标是对解耦好坏不同的衡量,总归都是越大解耦的越好,当然在无监督的情况下衡量解耦的好坏其实是一件很困难的事,就像让你评价食物好不好吃一样,不同人会得出不完全一致的结果,对于解耦效果也有很多评价指标目前还没有一个绝对公认的指标...,纵坐标是训练的次数这个不难理解,最重要的是格子里的数字,其中是解耦分数与解答分数的相关系数,不难看出在左侧大多数是正值,也就是解耦表现与解答表现是较强的正相关关系,这也证实了我们的猜想,解耦的越好下游任务表现的越好...因此这篇论文为我们指明了几个符合直觉但没有被严格论证的结论: 1.隐变量中信息的编码形式是最关键的因素(即解耦表示的重要性) 2.当重组损失过大,隐变量中蕴含的信息过少时,下游任务也会受到重大影响

    1.1K20

    下单流程解耦新方案-你知道Spring事件监听机制吗

    一、Spring 事件监听介绍 Spring 对事件监听是通过事件类型、事件类型监听和事件发布器 3 个部分来完成的 // 1....mallUserVO, couponUserId, shopcatVOList)); // 所有操作成功后,将订单号返回 return orderNo; ... } 上面的代码已经是将订单的保存逻辑从下单接口解耦到订单监听器中了...,但是 Spring 使用默认自带的SimpleApplicationEventMulticaster事件监听发布类是同步通知事件监听器的,这里会阻塞下单主线程,影响接口响应时长。...二、使用异步的事件监听发布类 由于默认的SimpleApplicationEventMulticaster类是同步调用,这里可以从 2 个方面入手: 1....从事件监听器:将事件监听器的事件触发方法改为异步执行,例如加入将生成订单、删除购物车、扣减库存逻辑放入线程池,或者是在onApplicationEvent放上上加上@Async注解,表示该方法异步执行。

    28130

    解耦式基站网关的市场趋势是怎样的?

    解耦式基站网关(DCSG)是一种基于开放和解耦架构的白盒基站网关或路由器,专为现有的2G/3G/4G以及5G网络设计。...在经历了两年的低迷期之后,DCSG市场在2023年重新获得了增长势头,这一增长主要得益于北美、亚洲和非洲的需求推动。...随着全球5G网络的扩展和密集化,需要更多的容量并提供更多的服务,解耦式基站网关 DCSG 的重要性日益增加。...电信基础设施项目(TIP)表示,全球已部署超过27,000个解耦式基站网关。...尽管面临进入成熟供应商市场的挑战,推动供应商中立且具有成本效益的解决方案使得解耦化在通信服务提供商(CSPs)的优先事项中占据了重要位置。

    7310

    为什么说,MQ,是互联网架构的解耦神器?

    什么是耦合? 耦合,是架构中,本来不相干的代码、模块、服务、系统因为某些原因联系在一起,各自独立性差,影响则相互影响,变动则相互变动的一种架构状态。 感官上,怎么发现系统中的耦合?...如何解耦呢? 如果事件发出方不关心订阅方的执行结果,不能用RPC,应该用MQ。...MQ能够做到上下游物理上和逻辑上都解耦: (1)物理上解耦,增加MQ之后,上游互不知道彼此的存在,不会建立物理连接了,大家都只与MQ建立物理连接; (2)逻辑上解耦,事件发布方甚至不用知道哪些下游订阅了这个消息...,新增消息的订阅方只需要连接MQ就行了,不需要上游关注; MQ是一个非常常见的物理上解耦、逻辑上也解耦的利器。...这只是一个很小的优化点,但对于通知解耦却是非常有效。 希望每天收获一点点,架构就能美好一点点。 调研: 你被迫实现过本不应该你来实现的需求么?

    55120

    什么是解耦表示学习?使用beta-VAE模型探究医疗和金融问题

    如果想在自己的数据集上尝试使用解耦表示学习的方法,可以参考 Github 上关于解耦学习的分享,以及 Google Research 提供的关于解耦学习的项目代码。...β -VAE 有一个方法可以帮助我们实现解耦表示,也就是让嵌入中的每个元素对应一个单独的影响因素,并能够将该嵌入用于分类、生成和零样本学习。...图:对心电图的心跳进行解耦 正如预期的一样,金融数据的实验效果没有这么明显。模型的训练参数设置与上一实验相似。...图:对比特币的收盘价格进行解耦 多个对象的解耦 假设在图像中包含多个对象,我们想要找出每一个对象的影响因素。下面的动图展示了模型的效果。 ? ?...如果一个机器学习模型就可以对复杂模型进行构建,而我们只需要进行特征分析,那还需要基于人工的建模吗?这个问题还有待讨论。

    2.4K30

    腾讯云副总裁王龙:解决AI技术落地难题,“解耦”是关键

    也就是说,算法专家不用关心应用是什么情况,设备供应商也不用关心算法问题,把这五个要素进行解耦,让一个要素相对其它几个要素变得更加透明。...就是因为操作系统把鼠标、键盘等所有这些设备之间的复杂度,都通过一个标准化的协议屏蔽掉,它们之间能够互相解耦,各自专注自己擅长的方向。...腾讯云AI产品“芯”引擎:“解耦”促进AI与产业互联网融合 腾讯云AI大数据产品矩阵共分为三层。...基于实际需要,为了更好的落地,我们在这两层中间进一步提供应用服务产品层,目的就是希望能够把AI落地的成本降低,并让各个部件之间形成解耦,让每个人都有机会参与到这个生态环境中。这一层主要面对的是开发者。...人工智能服务平台可以把数据科学家、智能设备提供商、应用开发者更好的解耦,让这些人更专注在自己擅长的领域,从而使得生态中的所有角色都能健康、高效的发展。

    1.6K30

    依赖注入是如何实现解耦的?

    依赖注入是如何实现解耦的? 看了几个高赞答案,感觉说得还是太啰嗦了。...也就是说我对对象的『依赖』是注入进来的,而和它的构造方式解耦了。构造它这个『控制』操作也交给了第三方,也就是控制反转。..._client.lpush(key, val) l = RedisList(host, port, password) 依赖翻转之后是这样的: class RedisList: def __init...redis 这个类是一个基础组件,可能好多类都需要用到,每个类都去自己实例化吗?如果需要修改的话,每个类都要改。 我们想依赖的是 redis 的 lpush 方法,而不是他的构造函数。...所以把 redis 这个类的实例化由一个单一的函数来做,而其他函数只调用对应的接口是有意义的。 就这么简单啊。。

    51520

    你写的代码扩展性高吗?快试试用Spring注入方式来解耦代码!

    qq_38050259/ article/details/113414419/ 方式一:传统方式 方式二:Spring注入对象 总结 ---- 目的:对比传统方式和 Spring注入方式创建对象以达到解耦的目的...        UserService service = new UserService();         service.add();     } } 测试结果: “结论一:由以上过程可以看出,在UserService...context.getBean("userService",UserService.class);         userService.add();     } } 测试结果 “结论二:观察以上过程,在UserService...类中,没有直接new实现类,而是通过将Dao注入外部配置文件中的方式,使用“第三方文件”来达到解耦的目的。...图二:解耦后的齿轮组 ---- ---- 欢迎加入我的知识星球,一起探讨架构,交流源码。

    24220

    边缘计算,是在炒概念吗?

    它是一个全新的概念吗?谁在担任边缘计算的角色?最近的畅销书《工业物联网:平台架构、关键技术与应用实践》对这些问题进行了详细解答,下面让我们通过这本书的内容来详细看一看。...OpenStack基金会对边缘计算的定义是: 为应用开发者和服务提供商在网络的边缘侧提供云服务和IT环境服务。边缘计算的目标是在靠近数据输入或用户的地方提供计算、存储和网络带宽。...近年来物联网安全攻击事件频发,防患数据灾难的一个必要措施是采取隔离手段,边缘计算从根源上在本地保障数据安全。...不同的是,工控机能够在环境恶劣的条件下运行,由于对数据安全性要求更高,因此通常会对工控机进行加固、防尘、防潮、防腐蚀和防辐射等特殊设计。...第二类是云计算服务商,例如前面OpenStack基金会将边缘计算定义为在网络边缘侧提供云服务和IT环境服务,有些公司将边缘计算称为分布式云计算或第四代数据中心,在边缘计算玩家里,自然有云计算服务商。

    33821

    CVPR 2022|解耦知识蒸馏,让Hinton在7年前提出的方法重回SOTA行列

    机器之心专栏 旷视科技等 与主流的feature蒸馏方法不同,本研究将重心放回到logits蒸馏上,提出了一种新的方法「解耦知识蒸馏」,重新达到了SOTA结果,为保证复现该研究还提供了开源的蒸馏代码库:...,发现了一些限制 KD 性能的重要因素,进而提出了一种新的方法「解耦知识蒸馏」(Decoupled Knowledge Distillation,下文简称 DKD)[2],使得 logits 蒸馏重回...3.4 启发 至此,该研究完成了对 KD Loss 的解耦,并且分析了两个部分各自的作用。...解耦 和 NCKD,也就是把 设置为 1.0,可以将 top-1 accuracy 从 73.6% 提升至 74.8%; 2....解耦 NCKD 和 TCKD 的权重,即进一步调节 的数值,可以将 top-1 accuracy 从 74.8% 进一步提升至 76.3%; 这些实验结果说明 DKD 的解耦确实能带来显著的性能增益,

    61130

    SEO功夫在站外是真的吗?

    在早期我们做SEO的时候,经常会听到这样一句话:SEO功夫在站外,实际上,这是一个非常有争议的话题,我们都非常清楚,SEO是一个综合性的运营指标。...它不能脱离众多影响因子,而独立存在,这其中就包括:SEO功夫在站外这句话。 64.jpg 那么,SEO功夫在站外是真的吗?...根据多年的百度SEO建议,我们将通过如下内容阐述: 什么是SEO功夫在站外?...这些相关性的数据,对于企业站点运营而言,是优先得到较高评估的一个流程,如果你没有得到搜索引擎的认可,实际上,即使我们后期的外部资源在优质,我们都很难得到较高的提升。...实际上,我们是在积累一定网站信誉度的基础长,才会得到较快速的成长。 总结:SEO功夫在站外是一个相对概念,而实际上采用什么策略,我们仍然需要根据实际情况而定,上述内容,仅供参考!

    61540
    领券