《大规模C++程序设计》读书笔记10

原则29:允许两个组件通过#include指令彼此"知道"隐含了循环物理依赖。

定义26:如果一个子系统可编译,并且单个组件(包括.c文件)的包含指令隐含的依赖图是非循环的,则称这个子系统是可层次化的

原则30:相关抽象接口中的内在耦合使它们更抗拒层次分解。

定义27:如果组件y处在比组件x更高的层次上,并且y在物理上依赖x,则称组件y支配(dominate)组件x。

原则31:如果同层次的组件是循环依赖的,那么就有可能把互相依赖的功能从每一个组件升级为一个潜在的新的更高层次的组件(依赖于每一个初始的组件)的静态成员。

原则32:在庞大的低层子系统中的循环物理依赖将最大程度的增加维护系统的总开销。

原则33:如果同一层次的组件是循环依赖的,那么就有可能把互相依赖的功能从每一个组件降到一个潜在的新的较低级(共享)组件中,每一个原来的组件都依赖于这个新组件。

原则34:将共有代码降级可促成独立重用。

原则35:可以将升级策略与基础设施降级结合起来,以增强独立重用。

原则36:把一个具体的类分解为两个包含更高和更低层次功能的类可以促进层次化。

原则37:将一个抽象的基类分解成两个类--一个定义一个纯粹的接口,另一个定义它的部分的实现,可以促进层次化。

原则38:把一个系统分解成更小的组件,既可以使它更灵活,也可以使它更复杂,因为现在要与更多的物理部件一起工作了。

Technorati : , ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俞凡 DeepNoMind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值