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

本文探讨了C++设计中的关键原则,包括合理使用回调、建立分等级的所有权、分解实现细节、处理循环依赖等,旨在帮助开发者创建更易于理解和维护的系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原则45:不加选择的使用回调(callback)可能导致难以理解、调试和维护的设计。

原则46:对回调的需求可能是不良的整体体系结构的一个症状。

回调比传统函数更难以理解、维护和调试,应当被当作是最后的手段。

原则47:建立较低层次对象的分等级的所有权,可以使一个系统更容易理解和更可维护。

可以建立一个更高层的管理类来封装耦合代码。

原则48:将独立可测试实现细节分解出来并降级,能够减少维护一个循环依赖类集合的开销。

一个类型具有值语义是指,一个拷贝构造函数和一个赋值运算符对该类型天生就是(在语义上)合法操作。

原则49:在循环物理依赖不可避免的地方,将其升级到尽可能高的层次可减少CCD,甚至可以使循环能够由一个单个的、大小便于管理的组件代替。

原则50:授权友元关系不会产生依赖,但是为了保持封装可能会引起物理耦合。

原则51:什么是和什么不是实现细节取决于物理层次结构内部的抽象级别。

原则52:将封装所在的层次升级,能够消除对一个子系统内协同操作的组件授予私有访问权的需求。

原则53:私有的头文件不是适当的封装替代品,因为它们禁止并排(side-by-side)重用。

定义32:在层次系统中,封装一个类型(该类型定义在头文件内的文件作用域中)意味着隐藏了它的使用而不是隐藏了类型本身。

体系结构的成功层次化要通过"确保没有编程的方法可用来访问作为子系统实例一部分的任何实现类型的任何实例"的方法来获得。

原则54:包装器组件可以用来封装一个子系统内的实现类型的使用,但允许其他类型通过它的接口。

通过使用包装器组件,可以将封装层次升级到子系统的最高层,消除对低层次友元关系的需要,从而也消除了将紧密耦合的类合并成一个单个的超大型组件的必要。

Technorati : C++, 大规模C++程序设计, 读书笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

俞凡 DeepNoMind

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

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

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

打赏作者

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

抵扣说明:

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

余额充值