4.3.1 面向对象封装 在C++自定义库的开发实践中,“面向对象封装”从来不是一句教科书式的口号,而是一场持续数月、反复推演、不断权衡的工程实践。它不始于 关键字的敲入,而始于一个灵魂拷问:当调用者只看到 时,他究竟该知道什么?又必须被屏蔽什么? 这个问题的答案,决定了你的库是成为团队信赖的基石,还是沦为下个季度被重构的“技术债重灾区”。 我们曾在一个金融风控中间件项目中遭遇过典型的封装失焦:早期版本的 类将 直接暴露为公有成员变量 ;下游业务方为“提高性能”,绕过 接口,直接 ——结果在一次规则热加载场景中,因 引用计数异常与析构顺序错乱,导致核心服务静默挂起17分钟。故障复盘会上,架构师没有责怪业务方“违规操作”,而是指着白板上那行刺眼的 说:“这不是API,这是API的犯罪现场。