大项目的通用接口

时间:2013-02-06 16:59:33

标签: c++ paradigms

假设您正在编写一个更大的项目,您必须使用第三方库。因此,您的完整项目将取决于这些库。

我认为不是直接使用这些第三方库,而是编写某种包装库或界面,看起来像这样。

void myMainloop(...){
    3rdpartyMainloop(...);
}

因此,如果第三方库过时,我可以通过将其集成到我的包装库中来切换到另一个库。

这是一件好事吗?我有哪些替代方案?

我有点担心,如果我有两个基本上做同样事情但设计完全不同的库,那么就不可能找到两者的通用接口。

1 个答案:

答案 0 :(得分:2)

可以编写一个通用接口,您可以调整一个或多个第三方库。但是,如果您正在讨论Qt的大小和范围的库,则需要非常仔细的设计和规划,更不用说大量的开发工作了。您首先必须设计接口,然后为您希望能够插入的每个库实现这些接口。

最重要的是,这是一个非常崇高的目标,你不可能最终得到任何真正“通用”的东西。充其量,您可能不得不将界面愚蠢到没有利用每个库提供的许​​多功能的程度。此外,您可能会引入会降低应用程序性能的开销,因此如果性能至关重要,请记住这一点。

我会说最好选择最适合你需求的图书馆,除非你想自己动手,我怀疑。