业务系统架构实践问题之倒置依赖和非倒置依赖有什么区别

简介: 业务系统架构实践问题之倒置依赖和非倒置依赖有什么区别

问题一:倒置依赖和非倒置依赖有什么区别?

倒置依赖和非倒置依赖有什么区别?


参考回答:

倒置依赖站在调用方的角度,根据调用者的需求提出交互协议,是个体需求的表达。而非倒置依赖则是站在服务方的角度,描述的是服务方本身具备的功能,是公用资源的表达。两者的主要区别在于出发点和关注点的不同。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620260



问题二:为什么在业务研发中关键概念的取名精准度很重要?

为什么在业务研发中关键概念的取名精准度很重要?


参考回答:

关键概念的取名精准度对于协同工作和代码、业务逻辑的传承至关重要。如果关键概念取名具有二义性,很容易导致协同上的误解和潜在的成本增加。同时,取名不精准也反映出研发同学对业务本质的思考理解不够深入。因此,确保关键概念的取名精准度是保持业务研发高效和准确的重要一环。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620261



问题三:什么是业务模型和存储模型的解耦?为什么它是重要的?

什么是业务模型和存储模型的解耦?为什么它是重要的?


参考回答:

业务模型和存储模型的解耦是指将业务逻辑和数据存储方式分离设计,使得业务逻辑不依赖于特定的数据存储实现。这种解耦在新建系统时可能不那么明显,但在系统发展和团队归并,需要与异构系统整合时,就显得非常关键。如果前期业务模型和存储模型解耦得好,那么在整合时,只需要在数据访问层做适配,而不需要改动核心领域代码和模型。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620262



问题四:倒置依赖在实现上有哪些方式?

倒置依赖在实现上有哪些方式?


参考回答:

倒置依赖在实现上有两种方式。第一种是站在领域层级看,每个领域定义自己的服务接口,然后通过一个防腐层将领域接口转换为具体的服务实现。第二种是站在应用的高度看,应用定义一个通用的服务接口放在基础设施层,供所有领域使用,这样不同领域可以共用服务实现,无需转换。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620263



问题五:为什么在应用层面可能会选择站在应用的高度看倒置依赖的实现方式?

为什么在应用层面可能会选择站在应用的高度看倒置依赖的实现方式?


参考回答:

在应用层面可能会选择第二种倒置依赖的实现方式,即定义一个通用的服务接口放在基础设施层,主要是出于对内聚颗粒度和ROI(投资回报率)的考虑。这种方式可以减少不同领域之间的转换成本,提高服务实现的复用性。同时,在单应用内部,各子域并非需要完全的独立性,因此可以在保持领域语言独立性的基础上,做一定的耦合妥协。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620264

相关文章
|
4天前
|
存储 SQL 监控
转转平台IM系统架构设计与实践(二):详细设计与实现
以转转IM架构为起点,介绍IM相关组件以及组件间的关系;以IM登陆和发消息的数据流转为跑道,介绍IM静态数据结构、登陆和发消息时的动态数据变化;以IM常见问题为风景,介绍保证IM实时性、可靠性、一致性的一般方案;以高可用、高并发为终点,介绍保证IM系统稳定及性能的小技巧。
19 6
|
24天前
|
存储 缓存 关系型数据库
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
65 18
|
1月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
101 17
|
1月前
|
存储 消息中间件 小程序
转转平台IM系统架构设计与实践(一):整体架构设计
本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
75 10
|
1月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器ECS架构区别及选择参考:X86计算、ARM计算等架构介绍
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下这些架构各自的主要性能及适用场景,以便大家了解不同类型的架构有何不同,主要特点及适用场景有哪些。
143 10
|
2月前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
1月前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
57 10
|
1月前
|
存储 人工智能 运维
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
|
2月前
|
运维 监控 安全
天财商龙:云上卓越架构治理实践
天财商龙成立于1998年,专注于为餐饮企业提供信息化解决方案,涵盖点餐、收银、供应链和会员系统等。自2013年起逐步实现业务上云,与阿里云合作至今已十年。通过采用阿里云的WA体系,公司在账号管理、安全保障、监控体系和成本管控等方面进行了全面优化,提升了业务稳定性与安全性,并实现了显著的成本节约。未来,公司将持续探索智能化和全球化发展,进一步提升餐饮行业的数字化水平。
|
2月前
|
运维 安全 架构师
架构师工具箱:Well-Architected云治理提效实践
本次分享基于阿里云Well-Architected Framework的最佳实践案例,涵盖企业从上云到优化的全过程。安畅作为国内领先的云管理服务提供商(Cloud MSP),拥有800多名员工,其中70%为技术工程师,为企业提供架构安全、数据智能等技术服务。内容包括Landing Zone与Well-Architected的关系、企业云治理现状及需求分析,重点探讨了安全合规、成本优化、资源稳定性和效率提升等方面的最佳实践,并通过具体客户案例展示了如何通过自动化工具和定制化解决方案帮助企业提升云上业务价值。