C++ 大规模程序设计 之 层次化

本文探讨了在C++中处理大规模程序设计时层次化的重要性,尤其是如何解决物理循环依赖问题。介绍了升级、降级、不透明指针、哑数据、冗余、回调、管理类和分解等策略,旨在优化系统设计,降低耦合度,提高代码可维护性和复用性。
摘要由CSDN通过智能技术生成

层次化的主要目的还是为了设计出高质量的系统

 + 易于理解
 + 易于维护
 + 易于测试
 + 易于重用
 = 少加班

导致物理循环依赖的原因

产生物理循环依赖的原因是多种多样的,书中列举了3种,但总结一下可能2种更合适一些。

  • 心理方面:在对原有系统开发新功能时,或修改问题时,信手拈来的习惯可能在不经意间造成循环依赖。

  • 技术方面:设计系统逻辑关系时,逻辑上的耦合导致了物理上的循环依赖。


处理物理循环依赖的方式

升级

组件间支配: 如果组件y处于组件x的上层,并且y在物理上依赖于x,则称组件y支配组件x。

支配的重要性在于它能够提供除了层次号以外的其他的信息。

  • 一个高层组件增加了一个对底层组件的依赖不会产生循环依赖;
  • 同一层的两个组件间增加一个依赖会影响层次关系,但也不会产生循环依赖。

升级:如果一个高层组件和一个底层组件间有循环依赖,可以考虑把依赖的这部分功能转移到高层组件中,从而打破依赖关系。这种方式称为升级。

升级的两种思路:

将部分功能转移,或者构造一个上层模块。

这里写图片描述


降级

与升级相对应的便是降级,有些功能模块

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值