创建包装器 class 而不是从头开始设计是不是 C++ 中糟糕的软件架构?

Is it bad software architecture in C++ to create a wrapper class instead of designing from scratch?

我正在使用 OpenGL 和 C++(使用 Boost 库)自行创建 3D 游戏引擎。我想不用说,这是一项 LOT 的工作。为了减轻负担,我已经开始为 Boost 中最符合我需求的东西创建包装器 类,而不是从头开始制作相同的 类。此外,我的命名方案与 Boost 和 STL 非常不同,所以我一开始觉得这让整个代码库保持一致。

我担心这种做法是糟糕的设计技术。可以这样做吗?创建这么多包装器可能会出现什么不可预见的问题(如果有的话)类?

不,在大多数情况下使用包装器是完全无害的。

通常您的编译器应展开所有函数调用并优化源库的开销。

但是,如果您使用预编译的二进制文件,会带来一些开销。

在您的情况下使用包装器(意味着保持您的风格约定、轻微的功能更改等)是完全可以的做法。

ADD: 一些 "unforseen" 的东西可能是额外的编译时间,代码内部混乱(你需要始终如一地使用这些包装器...),或者您的包装器不支持的原始 class 的一些额外功能或行为。