2017-02-24 54 views
1

我正在使用OpenGL和C++(使用Boost库)创建一个3D游戏引擎。我想不用说,这是一个工作的LOT。为了减轻负载,我开始为Boost中的事物创建包装类,它们非常符合我的需求,而不是从头开始创建相同的类。此外,我的命名方案与Boost和STL非常不同,所以我首先感觉到这使整个代码库中的事情保持一致。C++中的软件体系结构是否创建包装类而不是从头开始设计?

我担心这种做法是不好的设计技术。这样做可以吗?如果有的话,创建这么多的包装类会出现什么未解决的问题?

+1

“可能出现什么未解决的问题”确实不是很多。只要你正确地隐藏了你的包装类没有意义的不需要的功能,并且你对内存没有超紧张的话,那么包装预先生成的类型就可能没问题。 – George

+0

击败继承kludge,只是改变名称的地狱。下跌是一个额外的抽象层(如果抽象正确,可以转化为上涨)和在包装器中注入缺陷的可能性(与从零开始编写所有东西相比,这应该是很少的bug)。 – user4581301

+0

我只是不太喜欢用手写出所有容器,字符串,流等等的想法。 –

回答

2

不要在大多数情况下使用包装完全无害。

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

但是,如果使用预编译的二进制文件,会带来一些开销,但这个小问题会出现。

要在你的情况下使用包装(意思是保持你的风格约定,轻微的功能改变等),这完全可以。

地址:一些“不可预见”的东西可能是额外的编译时间,里面的代码混乱(U需要使用这些包装一直保持...),还是原来的一些额外的功能或行为类,你的包装不支持。

+0

将在几分钟内接受。我刚刚投票,不得不等待。 –

相关问题