21 利用分布式消息队列降低系统耦合性,java后端项目实战

开发低耦合系统是软件设计的终极目标之一,这一目标驱动着软件开发技术的创新 与发展,从软件与硬件的第一次分离到操作系统的诞生;从汇编语言到面向过程的开发语言,再到面向对象的编程语言;从各种软件工具集到各种开发框架;无不体现着降低 软件系统耦合性这一终极目标。可以说,度量一个开发框架、设计模式、编程语言优劣 的重要尺度就是衡量它是不是让软件开发过程和软件产品更加低耦合。显而易见,低耦合的系统更容易扩展,低耦合的模块更容易复用,一个低耦合的系统设计也会让开发过程和维护变得更加轻松和容易管理。一个复杂度为100
摘要由CSDN通过智能技术生成

开发低耦合系统是软件设计的终极目标之一,这一目标驱动着软件开发技术的创新 与发展,从软件与硬件的第一次分离到操作系统的诞生;从汇编语言到面向过程的开发语言,再到面向对象的编程语言;从各种软件工具集到各种开发框架;无不体现着降低 软件系统耦合性这一终极目标。可以说,度量一个开发框架、设计模式、编程语言优劣 的重要尺度就是衡量它是不是让软件开发过程和软件产品更加低耦合。

显而易见,低耦合的系统更容易扩展,低耦合的模块更容易复用,一个低耦合的系

统设计也会让开发过程和维护变得更加轻松和容易管理。一个复杂度为100的系统,如 果能够分解成没有耦合的两个子系统,那么每个子系统的复杂度不是50,而可能是25。

当然,完全没有耦合就是没有关系,也就无法组合出一个强大的系统。那么如何分解系 统的各个模块、如何定义各个模块的接口、如何复用组合不同的模块构造成一个完整的 系统,这是软件设计中最有挑战的部分。

笔者认为,软件架构师最大的价值不在于掌握多少先进的技术,而在于具有将一个 大系统切分成N个低耦合的子模块的能力,这些子模块包含横向的业务模块,也包含纵 向的基础技术模块。这种能力一部分源自专业的技术和经验,还有一部分源自架构师对 业务场景的理解、对人性的把握、甚至对世界的认知。

大型网站也常常意味着功能复杂,产品众多。网站为了在市场竞争中胜岀,不断推 出各种新产品,为了把握市场机会,这些产品从策划到上线,时间非常短暂,技术团队 必须在产品设计和需求分析结束之后,快速地开发完成一个新产品。同时经过长期的演 化和发展,这些产品之间的关系错综复杂,维护也变得异常困难。这些问题对网站的可 扩展架构提岀了挑战和要求。

设计网站可扩展架构的核心思想是模块化,并在此基础之上ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值